如何清除FileUpload中的文件

如何清除FileUpload中的文件,第1张

jquery异步上传,一般来说这里上传调用的是系统专门上传的action,上传好后返回上传文件信息。你这里result.files就是返回的上传结果。这个需要你在后台自己封装。你前端需要什么,后台就封装什么。

比如我以前写过一个

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

Map<String, Object>fileObject = new HashMap<String, Object>()

fileinfo.put("size", size)//原始文件大小

fileObject.put("original", original)//原始搜灶粗文件唯一标识

fileObject.put("originalPath", originalPath)//原始文件临时存储目录

fileObject.put("thumb", thumb)//图片的预览文件唯一标识

fileObject.put("thumbPath", thumbPath)//图片预览文件临时存储目录

fileObject.put("name", fileFileName)//原始图片名称

fileObject.put("url", url)//原始图片的web查看地址,这个可以设置img.src属性

fileObject.put("thumbnailUrl", thumbnailUrl)//预览图片的web查看地址

fileObject.put("contentType", fileContentType)//上传文件type

fileObject.put("deleteType", "POST")//这是我自己封装的post删除

//这个是我自己封装的删除路径

fileObject.put("deleteUrl", super.getRequest().getContextPath() + "/removeUpload.do?id=" + original)

Map[] fileArray = new HashMap[1]

fileArray[0] = fileObject

JSONObject jsonObject = new JSONObject()

jsonObject.put("files", JSONArray.fromObject(fileArray))

HttpServletResponse response = getResponse()

response.setContentType("application/jsoncharset=UTF-8")

response.getWriter().write(jsonObject.toString())

response.getWriter().flush()

而前断可以将上传文件的唯一标识放到一个隐藏域世镇里,表单提交的时候一起提发送到后台,再根据唯一标识去取上传文件信息或写或复制转移。

前断fileuploaddone我是这么用的

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

on('fileuploaddone', function(e , data){

//上传结果

$.each(data.result.files, function(index , file){

if (file.url) {

var link = $('<a>').attr('target', '_blank').prop('href', file.url)

//这个是文件上传后的展示区域,可以在fileuploadadd事件里辩悔构建

var $imgdiv = $(data.context.children()[index])

var $link = $imgdiv.find("canvas").wrap(link)

$imgdiv.append($('<input type="hidden" name="imagefileid"/>').prop('value', file.original))

$imgdiv.append($('<input type="hidden" name="imagefilename"/>').prop('value', file.name))

} else if (file.error) {

var error = $('<span class="text-danger"/>').text(file.error)

$(data.context.children()[index]).append(error)

}

})

})

如果您不希望在点击提交按钮时清空 fileupload 控件的路径,可以尝试以下方法:

在点击提交按钮时,使用 JavaScript d出消息框,而不是使用 ASP.NET 的消息框。这样就可以在d出消息框的同时,保留 fileupload 控件的路径。

在提交表单之前,先判断 fileupload 控件是否已选择文件。如果已选择,则d出消息框;如果未选择,则不d出消息框,直接提交表单。这样也可以在d出消息框的同时,保留 fileupload 控件的路径。

使用 AJAX 技术异步提交表单,在服务器端处理完 *** 作之后,再d出消息框。这样可以避免直接提交表单,从而保留 fileupload 控件的路径。

例明罩如,您可以使用 jQuery 的 ajax 函数发送异步请求,如下所示:

$(function () {

$('#submitButton'凯槐缺盯辩).click(function () {

$.ajax({      url: 'your url',

type: 'post',    

data: $('#form').serialize(),

success: function (result) {  

alert(result.message)

}

})

})

})

删除文件需要用到FSO *** 谨游作语法

object.DeleteFile [路经][, force] 如果要删除只读文件,则force值为 True;否则为 False(默认)。

<%

Set fs =Server.CreateObject("Scripting.FileSystemObject") '用Server创建一个 FSO 对像实体赋给 fs

fs.DeleteFile "e:\ss.txt",true '用fs的DeleteFile方法删除文件

%>比如dim fso

set fso = server.CreateObject("scripting.FileSystemObject"祥歼销改迅)

fso.DeleteFile("\upload\x8y8_com.jpg")

set fso = nothing


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12256786.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存