Cordova-Dateiübertragung: Das Bild kann nach dem Hochladen auf aws s3 nicht angezeigt werden

Im Arbeiten mit Cordova File Transfer zum Hochladen von Bildern in meinen S3-Eimer.

Ich schaffe es, die Datei ohne Fehler hochzuladen, und es ist sogar als Datei in s3 sichtbar.

Aber wenn ich versuche, das Bild von s3 herunterzuladen, kann ich es nicht anzeigen (Bild ist beschädigt), wenn ichfile image.png Ich erhalte das Ergebnis, dass es sich um eine Datendatei und nicht um ein Bild handelt.

hier ist der Upload-Code:

let transfer = new Transfer();
options = {
  headers: {
    'Content-type': 'image/jpg',
  },
  httpMethod: 'PUT',
  chunkedMode: false
};
console.log("URL, ", url)
return transfer.upload(fileUrl, url, options, true)

Ich habe es mit oder ohne @ versucencodeURI Methode, mit oder ohnechunkmode nichts scheint zu funktionieren. irgendwelche Ideen

Ps dieser Code verwendet ionische native Bibliothek, aber ich habe auch versucht, auf die Straße zu gehen, um dieFileTransfer Objekt und es hat immer noch nicht funktioniert

Im auch mit einer singed URL, die ich von meinem Webserver vor dem Hochladen bekommen

UPDATE: hier ist der Code, den ich mit dem nativen @ verwendet haFileTransfer Objek

var options = new FileUploadOptions();
options.headers = { 'Content-type': 'image/jpg' }
options.httpMethod =  'PUT';
options.chunkedMode = false;
options.mimeType = 'image/jpg';

var ft = new FileTransfer();
ft.upload(fileURL, url, onSuccess, onFail, options, true);

Antworten auf die Frage(4)

Ihre Antwort auf die Frage