利用ajaxfileupload插件实现无刷新文件上传
做项目的时候遇到了这样一个问题,如果用普通的ASP.NET FileUpload控件实现文件上传,那么页面会刷新,那么页面上用JS拼出的元素就会消失,为了上传文件,又不能刷新页面,ajaxfileupload插件是一个很好的选择(插件下载地址:http://www.phpletter.com/DOWNLOAD/)
ajaxfileupload是jQuery的一个插件,使用这个插件同时要引用jQuery.js文件
直接上代码吧
JS代码
public void ProcessRequest (HttpContext context) {context.Response.ContentType = "text/html";//这里很关键,虽然前台数据类型是json,但这里一定要写html//获取前台传来的文件HttpFileCollection files = HttpContext.Current.Request.Files;//将文件保存在网站目录中files[0].SaveAs(context.Server.MapPath("/Web/uploadFiles/Achievements.xls"));//返回用json数据格式表示的提示string result = "[" + "\"" + "成绩导入成功" + "\"" + "]";context.Response.Write(result); }这样就实现了AJAX上传文件,页面不会刷新,有需要的试试吧。
- 5楼lfmilaoshi7小时前
- 问题就是最好的老师
- 4楼5iasp前天 13:49
- 不错!
- 3楼qiulongtianshi3天前 10:24
- 好像html直接有个控件也可以实现!
- 2楼liushuijinger3天前 09:56
- 可以验证文件大小、文件类型吗?n另外可以上使用ftp方式上传吗?
- 1楼5iasp4天前 17:07
- 本质是使用提交表单到隐藏iframe的伪ajax实现.
- Re: wwwwenhuan3天前 09:55
- 回复5iaspn这都被你看出来了,高人呀,其实这样做主要是为了防止页面刷新,丢掉js拼出来的东西