比如我以前写过一个
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)