qq_24534807 2017-09-19 08:04 采纳率: 0%
浏览 1186

Java 下载文件,浏览器报错

这是下载的部分的代码,传过来的参数是正确的

 package com.hkt.bpu.asd.noss.pcms.admin_portal.common;

import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class CSVWriterUtils {

    @SuppressWarnings("unchecked")
    public void creatcsv(String name,String[] header, HttpServletRequest request, HttpServletResponse response, List list
            ) throws Exception {

        response.setContentType("text/csv");

        java.util.Date date = new java.util.Date();
        java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyyMMddHHmmss");
        String strDate = df.format(date);

        response.addHeader("Content-Disposition","attachment; filename=\"" +name+"_"+strDate + ".csv\"");
        response.setContentType("text/csv;charset=UTF-8");

        PrintWriter out = response.getWriter();

        List title = new ArrayList();
        for (int i = 0; i < header.length; i++) {
            title.add(header[i]);
        }

        List datalist = new ArrayList();

        CsvWriter cw = null;
        try {
            cw = new CsvWriter(out);
            cw.writeLine(title);
//          if (list == null || list.size() == 0)
//              return;
//          for (Object o : list) {
//              if (o != null) {
//                  Field[] fields = o.getClass().getDeclaredFields();
//                  for (Field f : fields) {
//                      f.setAccessible(true);
//                      String objectname = f.getName();
//                      Object value = f.get(o);
//                      
//                      for(int i=0;i<header.length;i++){
//                          if(objectname.equals(header[i])){
//                              datalist.add(value.toString());
//                          }
//                      }
//                      
//                      if(datalist.size()==header.length){
//                          System.out.println("datalist---"+datalist);
//                          cw.writeLine(datalist);
//                          datalist = new ArrayList();
//                      }
//                      
//                  }
//              }
//          }
            cw.flush();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (cw != null) {
                    cw.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

然后在谷歌浏览器实现下载文件时,就报错了。

 POST http://localhost:8080/MonitorCircuitManipulation/download net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION

请问这是什么问题?

  • 写回答

1条回答

  • 梦昼初PurpleShell 2017-09-19 08:11
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog