Java:关于保存文件的路径问题,如何通过response设置?

Java后台保存文件都是通过new File("E://result.html"),然后通过IO写这个file就行了,但是这样路径是写死的,有什么办法可以通过下面的方式保存文件呢?

response.setContentType( "application/pdf" );
response.setHeader("Content-Disposition","attachment;filename=output.pdf;");

1、首先我们客户端下载文件,是从服务器上面下载的。是不允许我们操作客户端的文件的以下是设置服务器端的文件路径。

response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-disposition", "attachment; filename=InspectionExcel.xlsx"); // 设定输出文件头
response.setHeader("Set-Cookie", "fileDownload=true; path=/");
response.setContentType("application/msexcel");
OutputStream os = null;
try {
DownFile openFile = new DownFile();
String fileExcel = openFile.fileLookForWord(request, response);// 服务器目录
os = new FileOutputStream(fileExcelPath);
incomingQualityManageService.exportInspectionExcel(itemCode, cateGory, cateName, supplierMan, poNum,
receiveNum, porject, beginDate, endDate, null, "N", os);
} finally {
if (os != null) {
os.close();
}
}

2、实在要控制的话,可以用applet技术,但是有比较大的局限性。需要的话可以私聊我。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-25
response.setContentType( "application/pdf" ); 这个是表示返回的响应格式,

response.setHeader("Content-Disposition","attachment;filename=output.pdf;");这是响应头信息

你想的到相对路径可以用String path=request.getSession().getServletContext().getRealPath("/upload");得到你想保存的文件夹路径然后加上文件名就是完整路径。再通过io写入,本回答被网友采纳
第2个回答  2014-03-25
用一个类似MAP的那个方法做一个映射就好的
相似回答