我使用此Java代码从Web应用程序下载文件:
@RequestMapping(value = "/filedownloads/filedownload/{userid}/{projectid}/{documentfileid}/{version}/",method = RequestMethod.GET)
public void filesDownload(final @PathVariable("userid") String userId,final @PathVariable("projectid") String projectId,final @PathVariable("documentfileid") String documentFileId,final @PathVariable("version") String version,final HttpServletResponse response) throws IOException,BusinessException {
...
final String fileName = "filename=" + documentFile.getFileName();
final InputStream is = new FileInputStream(filePath);
response.setHeader("Content-Disposition","inline; " + fileName);
IOUtils.copy(is,response.getOutputStream());
response.flushBuffer();
}
如果我要下载一个pptx文件,我会得到以下IE页面:
我想要做的是在Powerpoint中打开下载的文件.
我现在的问题是,如果有一个标题设置,以便使用正确的应用程序打开此文件(在本例中为Powerpoint)
最佳答案
只需尝试正确设置Content Type标头,如果是pptx,则为application / vnd.openxmlformats-officedocument.presentationml.presentation,如下所示:
response.setContentType(
"application/vnd.openxmlformats-officedocument.presentationml.presentation"
);
response.setHeader(
"Content-Disposition",String.format("inline; filename=\"%s\"",documentFile.getFileName())
);
response.setContentLength((int) new File(filePath).length());
Here is the list of mime types corresponding to Office 2007 documents.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。