【发布时间】:2014-07-31 19:18:29
【问题描述】:
我已经解析了一个使用 POST 发送到我的 TOMCAT 服务器的 JSON 对象,并将其转换为 CSV 文件。我想将 CSV 文件发回给用户。我对如何将文件发回感到困惑,因为我看到的所有示例都引用了存储在服务器上的实际文件——我的文件是在内存中构建的,并且实际上并没有尽可能地引用文件/文件描述符告诉。
//The doPost method has already generated the String[] - I then call generateCSV
protected void generateCSV(ArrayList<String[]> data, ServletOutputStream out,
HttpServletResponse response)
{
try{
BufferedWriter buff = new BufferedWriter(new OutputStreamWriter(out));
CSVWriter writer = new CSVWriter(buff);
writer.writeAll(data);
writer.close();
sendFile(response, out);
}catch(IOException | ServletException e){
e.printStackTrace();
}
}
protected void sendFile(HttpServletResponse response, ServletOutputStream outstream)throws ServletException, IOException
{
response.setContentType("application/octet-stream");
outstream.flush();
outstream.close();
}
【问题讨论】: