`
s343174147
  • 浏览: 32592 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

异步上传下载文件

阅读更多

文件上传是通过2进制传输到后台,值能通过submit进行提交,并且中的配置如下<form id="id名称" method="post"  enctype="multipart/form-data" action="对应的action">对应的上传文件的   文本框<input type="file" id="importFile" name="importFile" value="" />,后台的取得文件写法:

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
  MultipartFile multipartFile = multipartRequest.getFile("importFile");
  String[] fitNameByPara = request.getParameterValues("fitName");//获取前台的多选域和列表中的一列值

  String inquiryNoByPara = request.getParameter("inquiryNo");//普通的参数

 

ajax是通过字符流传递值的,这样就没法用ajax实现异步上传了。

这时候我们找到的解决方法是:

用Ajaxfileupload.js或者用jquery.form中的ajaxsubmit,Ajaxfileupload中有很多错误的地方,最有我用了jquery.form中的ajaxsubmit。

 

下载弹框的问题:

在后台田间如下代码:

response.setContentType("charset=GBK;application/vnd.ms-excel"); //设置输出格式(默认的打开方式)和编码格式(如果是utf-8用excle打开是乱码,所以只能用  GBK)
  response.addHeader("Content-Disposition", "attachment;filename=test.csv");//attachment: 浏览器显示另存为对话框,inline,则无论怎样浏览器都会自动尝试用已知关联的程序打开文件

这时的前台只能用summit提交的方式导出文件,不能用window.location.href,或者Ajax的异步提交,因为下载文件只有是一个跳转才可以

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics