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

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
    关注
    评论

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站