如何在Java Google App Engine中将静态文件的content-disposition设置为inline

3

我知道如何为动态请求设置内容分发头,但如何为静态文件设置呢。

问题是GAE Java生产版本自动为静态文件请求设置附件内容分发,(顺便说一下默认的本地开发内容分发是inline),但我需要将其设置为内联

现在当有人尝试打开静态PDF文件时,浏览器会自动开始下载而不是尝试在新标签中打开它。

2个回答

1
除了 MIME 类型和过期时间之外,您对静态文件的服务控制不大(请参见 Google app.yaml 文档)。如果您需要细粒度控制,可以将 PDF 存储在 Datastore 中作为 Blob 并编写处理程序。
(不要与 Blobstore API 混淆)

我对 Blob 有所了解,因为我们在应用程序中使用它来创建 PDF 文档,并且可以设置内容分发为内联。但是,对于静态文件的 Blob 存储解决方案有些不太方便。 - Matija

1

我所有的pdf文件都在/pdf/路径下。我已经为/pdfi/ uri创建了Web请求,该请求使用url获取服务从/pdf/路径下获取所请求的文件,并将content-disposition设置为inline。

现在,无论在哪里(静态html等),只要有任何pdf文件的链接,我都用/pdfi/替换了/pdf/,一切正常。如果GAE团队允许我们为静态文件设置content-disposition,我将简单地将每个链接从/pdfi/更改为/pdf/。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接