“Java另存为”对话框,将文件保存在路径
我有一个表单,它接受一个“Java另存为”对话框,将文件保存在路径,java,excel,servlets,filereader,Java,Excel,Servlets,Filereader,我有一个表单,它接受一个PDF文件并提交给servlet。在阅读了PDF的内容之后,我正在使用ApachePOI在servlet中创建一个xls文件,我想将其保存到本地光盘中 HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("Data"); ArrayList<String> keys = ne
PDF
文件并提交给servlet。在阅读了PDF的内容之后,我正在使用ApachePOI在servlet中创建一个xls文件,我想将其保存到本地光盘中
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("Data");
ArrayList<String> keys = new ArrayList<String>(excelData.keySet());
int counter = 0;
for(int i=keys.size()-1; i>=0;i--){
String key = keys.get(i);
String value = excelData.get(key);
Row row = sheet.createRow(counter++);
Cell cell = row.createCell(0);
cell.setCellValue(key);
Cell cell1 = row.createCell(1);
cell1.setCellValue(value);
}
我不想将文件直接保存到C:\\Users\\user\\Desktop\\new.xls
,而是想提供一个另存为
选项来选择用户要保存的文件的路径和名称。比如:
如何将此文件发送回客户端浏览器并显示另存为选项
//read file back after saving to some temp path.
File pdfFile = new File("D:\\temp\\"+ fileName +".xls");
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename="+fileName+".xls");
FileInputStream fileInputStream = new FileInputStream(pdfFile);
OutputStream responseOutputStream = response.getOutputStream();
int bytes;
while ((bytes = fileInputStream.read()) != -1) {
responseOutputStream.write(bytes);
}
fileInputStream.close();
//read file back after saving to some temp path.
File pdfFile = new File("D:\\temp\\"+ fileName +".xls");
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename="+fileName+".xls");
FileInputStream fileInputStream = new FileInputStream(pdfFile);
OutputStream responseOutputStream = response.getOutputStream();
int bytes;
while ((bytes = fileInputStream.read()) != -1) {
responseOutputStream.write(bytes);
}
fileInputStream.close();