Как рассчитать, совместимый с AWS S3 HASH SHA-256 от капля в угловой?Javascript

Форум по Javascript
Ответить
Anonymous
 Как рассчитать, совместимый с AWS S3 HASH SHA-256 от капля в угловой?

Сообщение Anonymous »

Я пытаюсь загрузить изображение со стороны клиента (угловое приложение), используя предписанный URL -адрес загрузки, который генерируется в бэкэнде. При выполнении запроса на установку в ведро Amazon S3 с использованием этого назначенного URL-адреса, подписанный заголовок x-amz-content-sha256 должен быть включен с действительным значением SHA-256, которое рассчитано на шаге изображения, которое будет загружено. Использование заданного URL. ">

Код: Выделить всё

  private getSHA256ChecksumFromBlobAndCacheBoth(imageBlob: Blob): Promise {
return imageBlob.arrayBuffer()
.then(arrayBuffer => crypto.subtle.digest("SHA-256", arrayBuffer))
.then(arrayBuffer => {
let SHA256Checksum: string = this.convertSHA256ChecksumToHexString(arrayBuffer);
return SHA256Checksum;
});
}

private convertSHA256ChecksumToHexString(buffer: ArrayBuffer): string {
return Array.from(new Uint8Array(buffer))
.map((byte) => byte.toString(16).padStart(2, "0"))
.join("");
}
< /code>
Это создает действительный хэш SHA-256. Вот пример одного: CE48C8F1EEBBFDFD811D2E8FBB07D7A4FA9E0AB382934D2010B336E2A2B41730 < /p>
 Несмотря на то, что он действителен, он все еще переосмысливается S3; Это вызывает ошибку несоответствия подписи. Когда я удаляю фактическое значение хэш и заменяю его на беззнатную плату 
запрос на загрузку принимается. Обычно сделано.>

Подробнее здесь: https://stackoverflow.com/questions/794 ... in-angular
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»