Поскольку вы загружаете блоб через приложение Angular, рекомендуется использовать токен SAS. С SAS Token вам не нужно предоставлять заголовок Authorization
.
Что вы будете делать, это создать URL-адрес SAS с использованием URL-адреса BLOB-объекта и токена SAS и выполнить запрос HTTP PUT с использованием этого URL-адреса. Поскольку токен SAS уже содержит версию службы хранения, вам не нужно включать x-ms-version
в заголовки вашего запроса. Кроме того, вам не нужен заголовок x-ms-date
.
Итак, ваш код будет выглядеть примерно так:
let url = "https://matasisrael.blob.core.windows.net/matas/routes.json?" + sasToken;
let requestBody = "{hel:ds}";
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json; charset=UTF-8',
'x-ms-blob-type': 'BlockBlob',
'Content-Length': requestBody.length
})
};
this.http.put(url, requestBody, httpOptions).subscribe(data=> {})