Azure文件存储错误:不支持条件标题

TLP*_*TLP 6 azure-storage

尝试直接从Azure文件存储将PDF文件下载到浏览器时,出现此错误:

<Error>
    <Code>ConditionHeadersNotSupported</Code>
        <Message>
            Condition headers are not supported. RequestId:a84ee68e-   001a-001b-4223-bff5e7000000 Time:2017-04-27T06:57:22.2002199Z
        </Message>
</Error>
Run Code Online (Sandbox Code Playgroud)

边缘:空白页或带有冻结加载指示器的空白页。

FireFox:第二次,显示下载文件的对话框。

Chrome:空白页或选中了PDF文档“在默认的PDF查看器应用程序中打开PDF文件”设置时,显示下载文件的对话框。

IE:显示对话框以下载文件。

Safari:显示PDF。

行为可以在这里看到:https :
//peachstatepca.file.core.windows.net/content/newsletters/PresseApril2017.pdf?sv=2016-05-31&sr=f&sig=rkQEmY6IWXZqcgvhmm00gLQ%2FCZEq6nsH95S3aP9T72A%3D&se= :46:18Z&sp = r

Sam*_*aid 6

我们也遇到了这个问题,也是最简单的方法,直到 Azure File Team 实施Azure 反馈论坛中给出的建议,解决方法是在 URL 末尾附加额外的参数。所以,对于上面的网址——https: //peachstatepca.file.core.windows.net/content/newsletters/PresseApril2017.pdf?sv=2016-05-31&sr=f&sig=rkQEmY6IWXZqcgvhmm00gLQ% 2FCZEq6nsH91725S3- P 01T11:46:18Z&sp=r &xyz=客户端的时间戳

这将确保浏览器不会缓存,因此不会添加条件标头


Tom*_*SFT 2

\n

Azure 文件存储错误:不支持条件标头

\n
\n\n

由于新的Edge浏览器将不支持任何ActiveX插件。因此,Acrobat/Reader 插件无法与 Edge 配合使用。我们可以获取有关现代 Web 浏览器和Microsoft Edge中对 Acrobat 和 Reader 插件的支持的更改:构建更安全的浏览器的更多详细信息。

\n\n

编辑:

\n\n

如果我们尝试在私人和开发模式下使用 Edge 下载 PDF 文件,我们会收到错误消息“ Something\xe2\x80\x99s 阻止此 PDF 打开”,并且还可以知道 Edge 浏览器已发送 2 个请求。第二个请求带有 Header \' If-range\'。根据 Azure 文件存储获取文件 API,不If-Range支持指定条件标头。我也发现了有关 Edge 浏览器的类似问题

\n\n

在此输入图像描述

\n\n

我还在 Firefox 和 Chrome 中进行了测试,然后只收到 1 个请求。

\n\n

在此输入图像描述

\n\n

Note\xef\xbc\x9a 对于 Azure Blob 服务,可以从 Edge 浏览器正确打开 pdf 文件。由于 Blob Get Blob API支持成功读取完整 Blob 的操作,因此会返回状态代码 200(正常),而成功读取指定范围的操作会返回状态代码 206(部分内容)。

\n