gpt4 book ai didi

Azure Blob 存储错误 : Multiple condition headers are not supported

转载 作者:行者123 更新时间:2023-12-04 21:17:33 25 4
gpt4 key购买 nike

对于一个项目,我使用 Azure blob 存储来存储上传的图像文件。我还在网站上显示上传的图像 - 然而,这就是问题所在。对 blobstorage 中图像的每个其他请求都会导致 400 - 不支持多个条件 header

阅读此错误最终使我找到以下有关指定条件请求 header 的文档:http://msdn.microsoft.com/en-us/library/windowsazure/dd179371.aspx

该页面说明了有关指定多个条件 header 的以下内容:

If a request specifies both the If-None-Match and If-Modified-Since headers, the request is evaluated based on the criteria specified in If-None-Match.

If a request specifies both the If-Match and If-Unmodified-Since headers, the request is evaluated based on the criteria specified in If-Match.

With the exception of the two combinations of conditional headers listed above, a request may specify only a single conditional header. Specifying more than one conditional header results in status code 400 (Bad Request).

我相信 Chrome 发送的请求满足本文档概述的所有要求,但我收到了该错误。

是否有人拥有可以帮助解决此问题的 Azure Blob 存储经验?我将不胜感激!

Chrome 发送的请求:

The request as sent by chrome

blob 存储服务返回的 XML 响应:

The XML response from the blob storage service

最佳答案

是的,这是因为缓存,至少对我来说是因为缓存。我使用的是 SAS,所以我的解决方案是添加一个额外的参数以避免缓存。

/// token = SharedAccessSignature
string tick = $"&{ DateTimeOffset.UtcNow.Ticks}";
Uri url = new Uri(file.StorageUri.PrimaryUri.ToString() + token + tick);

网络应用程序应忽略额外的参数。

关于Azure Blob 存储错误 : Multiple condition headers are not supported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19358836/

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