Я пытаюсь загрузить изображение в Bucket на AWS с помощью POST, как мне декодировать в python3?
Когда я использую программу для создания метода Post (Insomnia), правильно сохраняется в Bucket. Но когда я делаю это с Ajax, он также сохраняется с тем же размером файла, но когда я открываю изображение, оно не работает, изображение повреждено.
Отправить с AJAX:
var form;
$("#file").change(function() {
form = new FormData();
form.append('file', event.target.files[0]);
});
function uploadFile(){
$.ajax({
url: 'myUrlApi',
crossDomain : true,
processData: false,
data: form,
contentType: 'image/png',
type: 'POST',
success: function (data) {
console.log(data)
}
});
}
Получить в python3 Лямбда для сохранения в Bucket:
import boto3
import base64
def lambda_handler(event, context):
s3 = boto3.client("s3")
get_file_content = event["content"]
decode_content = base64.b64decode(get_file_content)
s3.put_object(Bucket="mybucket", Key="exampleUpload.png", Body=decode_content)
Я не могу воспроизвести тот же тип файла, когда он отправляется Insomnia, поэтому он повреждает изображение .
Какой тип файла я получаю, когда отправляю файл в FormData с AJAX?
Я также пытался отправить изображение в строке на Base64 , но он тоже испорчен.