加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – Spring OutputStream – 用IE下载pptx

发布时间:2020-12-15 01:47:14 所属栏目:大数据 来源:网络整理
导读:我使用此Java代码从Web应用程序下载文件: @RequestMapping(value = "/filedownloads/filedownload/{userid}/{projectid}/{documentfileid}/{version}/",method = RequestMethod.GET) public void filesDownload(final @PathVariable("userid") String userI

我使用此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页面:

opend pptx in 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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读