Я пытаюсь загрузить изображение на s3 на основе подписанного URL, который мне дал мой бэкэнд. В почтальоне все работает как положено при загрузке изображения в двоичном виде, здесь javascript перевод
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/octet-stream");
myHeaders.append("Content-Type", "image/jpeg");
var file = "<file contents here>";
var requestOptions = {
method: 'PUT',
headers: myHeaders,
body: file,
redirect: 'follow'
};
fetch("my-signed-url", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
в angular в противном случае я действительно не могу понять, почему это не работает. Изображение кажется поврежденным после загрузки в корзину s3.
onUpload() {
const amzUrl = 'my-signed-url';
// selected file is from: this.selectedFile = event.target.files;
const fd = new FormData();
fd.append('file', this.selectedFile[0]);
this.http.put(amzUrl, fd).subscribe(
() => {
}
);
}