我正在尝试打开一个xlsx文件,它实际上是作为Blob存储在数据库中的。所以这个过程分为三个步骤:
1st:从数据库中获取文件。
第二名:将其保存在服务器上。
第3名:打开它。
我尝试使用 outputstream ,如下所示:
InputStream in = blob.getBinaryStream();
OutputStream out = new FileOutputStream("c:/mytemp/testanar.xlsx");
byte[] buff = blob.getBytes(1,(int)blob.length());
out.write(buff);
out.close();
但是我找不到任何与URL一起使用此方法的问题。
我的问题是如何将文件保存在服务器上?
答案 0 :(得分:0)
我找到了解决问题的方法。我的问题是找到一种方法来使用Web应用程序中的浏览器打开Excel文件。 这是两个步骤的解决方案:
第一步:
安装一个扩展程序,帮助您阅读我使用https://chrome.google.com/webstore/detail/office-editing-for-docs-s/gbkeegbaiigmenfmjfclcdgdpimamgkj
的excel文件第二步:
创建一个帮助您阅读文件的servlet是我的一部分:
public String downloadDocument(@PathVariable int docId, HttpServletResponse response) throws IOException {
Rapport document = rapportService.findRapportById(docId);
response.setContentType(document.getType());
response.setContentLength(document.getContent().length);
// if you want to download the file instead of reading the same file
// remove "//" below
//response.setHeader("Content-Disposition", "attachment; filename=\"" + document.getName() + "\"");
FileCopyUtils.copy(document.getContent(), response.getOutputStream());
return "redirect:listofreports";
}
[编辑] : 其中Rapport是表示excel文件的模型。
祝你好运。