表单文件上传下载ajax方式返回值

页面引入:jquery-form.js

function importSaleOrder(){

            var file=$("#file").val();
            if(file!=""){
                $("#errorInfo").html("");
                $("#downErrorFile").hide();
                var form = $("form[id=importSaleOrderFrom]");  
                var options  = {    
                    url:ctx+'/warehouse-out/importBatchWhoutSaleOrder.jhtml',    
                    type:'post', 
                    success:function(data)    
                    {    
                         var fileName = data.filePath;
                         var errors = data.errors;
                         $("#errorInfo").html(errors);
                         $("#downErrorFile").show();
                         $("#downErrorFile").attr("href",ctx+'/warehouse-out/downloadExcel.jhtml?fileFileName='+fileName);
                    }    
                };    
                form.ajaxSubmit(options);  
            }else{
                alert("请选择文件!");
            }

    }



下载:
public String downloadExcel(){
        String realPath = ServletActionContext.getServletContext().getRealPath("/")+"/upload";
        File file = new File(realPath,fileFileName);
        downloadExcel(file, response);
        return null;
    }

/**
     * 报表文件下载
     * @param file
     * @param response
     */
    public void downloadExcel(File file, HttpServletResponse response) {  
        try {  
            // 取得文件名。  
            String filename = file.getName(); 
            String userAgent = request.getHeader("USER-AGENT");
                String finalFileName = null;
                if(StringUtils.contains(userAgent, "MSIE")){//IE浏览器
                    finalFileName = URLEncoder.encode(filename,"UTF8");
                }else if(StringUtils.contains(userAgent, "Mozilla")){//google,火狐浏览器
                    finalFileName = new String(filename.getBytes(), "ISO8859-1");
                }else{
                    finalFileName = URLEncoder.encode(filename,"UTF8");//其他浏览器
                }
            // 以流的形式下载文件。  
            InputStream fis = new BufferedInputStream(new FileInputStream(file));  
            byte[] buffer = new byte[fis.available()];  
            fis.read(buffer);  
            fis.close();  
            // 清空response  
            response.reset();  
            // 设置response的Header  
            response.addHeader("Content-Disposition", "attachment;filename="  
                    + finalFileName);  
            response.addHeader("Content-Length", "" + file.length());  
            OutputStream toClient = new BufferedOutputStream(  
                    response.getOutputStream());  
            response.setContentType("application/vnd.ms-excel;charset=gb2312");  
            toClient.write(buffer);  
            toClient.flush();  
            toClient.close();  


        } catch (IOException ex) {  
            ex.printStackTrace();  
        }  
        if(file.exists()){
            file.delete();
        }
    }



<form id="importSaleOrderFrom" action="${pageContext.request.contextPath}/warehouse-out/importBatchWhoutSaleOrder.jhtml" method="post" enctype="multipart/form-data">

                        <div class="col-md-7">
                              <div class="form-group">
                                <input id="file" type="file" name="file" onchange="clearForm()" >
                              </div>
                        <input type="button" value="导入解析"  onclick="importSaleOrder()" />

                        <label id="errorInfo" style="margin-left:20px;color: red;"></label>
                        <a href="#" style="display: none" id="downErrorFile" style="margin-left:40px;">下载文件</a> 
                        </div>
                    </form> 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值