Наше приложение требует загрузки блоба с размером 0. Мы используем cURL для вызова API REST Azure. При загрузке с размером его неудачу с HTTP кодом ошибки [400]Хранилище Azure blob: невозможно загрузить блоб размером 0
следующее сообщение об ошибке вернулся
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>InvalidHeaderValue</Code>
<Message>
The value for one of the HTTP headers
is not in the correct format.
RequestId:2b1ec18b-0001-007d-7811-e40725000000
Time:2016-07-22T12:07:28.5435467Z
</Message>
<HeaderName>Content-Length</HeaderName>
<HeaderValue>-1</HeaderValue>
</Error>
Через Wireshark, мы обеспечили, что значение длины содержимого заголовок отправляется соответствующим образом.
Ниже захваченные заголовки из Wireshark
PUT /test/DC70439C-5004-11E6-B4B2-91D87435845D HTTP/1.1
Host: mytest.blob.core.windows.net
Accept: */*
Transfer-Encoding: chunked
x-ms-blob-type:BlockBlob
x-ms-version:2015-02-21
Content-Length:0
x-ms-date:Fri, 22 Jul 2016 12:07:28 GMT
Authorization:SharedKey kanchan:HQQ7a47TPQtEhL0ek6rim64ZKC8NRubgKuq+4Os+Aoo=
Expect: 100-continue
Вы можете PLese помощь, чтобы выяснить, почему значение заголовка Content-Length было установлено как -1?
Спасибо и уважение, Рахул Найк
Ниже приводится строка знак используется для генерации заголовок авторизации PUT X-MS-блоб-тип: BlockBlob X-MS-дата: Пт, 22 июл 2016 12:07:28 GMT x-ms-версия: 2015-02-21 /test/test/DC70439C-5004-11E 6-B4B2-91D87435845D Поскольку мы используем версию 2015-02-21, мы гарантировали, что в stringToSign не добавлен заголовок длины контента, если его длина равна 0. –