gpt4 book ai didi

azure - 在 Web 应用程序中将不同的文件类型全部作为应用程序/八位字节流提供服务有何影响?

转载 作者:行者123 更新时间:2023-12-03 05:58:41 26 4
gpt4 key购买 nike

我的问题得到了很好的回答 here on SO引出了另一个问题。

我在原始问题中提到的 Azure 帐户不是由我们管理的。以下是请求其 blob 文件时收到的 header 示例:

HTTP/1.1 200 OK
Content-MD5: R57initOyxxq6dVKtoAx3w==
Content-Type: application/octet-stream
Date: Wed, 02 Mar 2016 14:32:35 GMT
Etag: 0x8D3180DA8EBF063
Last-Modified: Fri, 08 Jan 2016 09:25:33 GMT
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-blob-type: BlockBlob
x-ms-lease-status: unlocked
x-ms-request-id: 19d0a689-0001-0039-2990-74a33e000000
x-ms-version: 2009-09-19
Content-Length: 263748

因此,文件将作为 application/octet-stream 返回,我理解这实际上意味着未知文件类型。当我在浏览器中点击 URL 时,系统会提示我下载,即使该文件是图像。

最终,此 Blob 存储中的文件将以两种方式使用。有些是将用于网站图像的图像。其他的是“ Assets ”(主要是 PDF),需要下载而不是在浏览器中打开。

所以我的问题是,如果我保持 Blob 存储不变,所有 Assets 都以 application/octet-stream 返回,那么在使用其图像作为 Web 内容和链接时是否会产生负面影响到其 PDF 可供下载?例如是否存在行为不同的浏览器?

换句话说,如果我坚持将标题更改为...会有什么好处

Content-Type: image/png
Content-Disposition: inline; filename="picture.png"

...还有...

Content-Type: application/pdf
Content-Disposition: attachment; filename="file.pdf"

最佳答案

So my question is, if I leave the blob storage as is, with all assets being returned as application/octet-stream, are there any negative implications when using its images as web content and linking to its PDFs for download? e.g. are there browsers which will behave differently?

是的,浏览器的行为有所不同。例如,如果您在 Azure Blob 存储中存储了一个 png 文件,其内容类型为 application/octet-stream,则在 Chrome 中将始终下载该文件,但在 Internet Explorer 中则不会将显示。因此,本质上,浏览器如何根据其类型处理内容,您将受到浏览器的摆布。

Ultimately the files in this blob storage will be used in 2 ways. Some are images which will be used for website imagery. Others are 'assets' (mainly PDFs) which need to be downloaded as opposed to opened in the browser.

建议您为要在浏览器中显示的内容正确设置内容类型。即使对于要下载的内容,也请确保内容类型设置正确。对于可下载内容,您可能需要考虑 2 种情况:

  1. 内容将始终被下载:如果内容将始终被下载,您可以将 blob 的 content-disposition 属性设置为 attachment;文件名=“文件.pdf”
  2. 内容有时会被下载,但有时会内联显示:在这种情况下,请勿设置 blob 的 content-disposition 属性并正确设置其内容类型。因此,当访问内容时,默认情况下它将内联显示。当您需要强制下载内容时,您可以在至少具有读取权限的 blob 上创建共享访问签名 (SAS) 并覆盖content-disposition SAS 中 blob 的属性。当有人使用 SAS URL 访问 blob 时,将始终下载内容。

关于azure - 在 Web 应用程序中将不同的文件类型全部作为应用程序/八位字节流提供服务有何影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35752650/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com