Ungültige XMLHttpRequest beim Hochladen auf S3

8

Ich verwende Evaporate.js , um Dateien in S3 hochzuladen. Ich habe alles funktionierte, bis ich entschied, serverseitige Verschlüsselung zu aktivieren.

Gemäß den S3-Dokumenten können Sie es aktivieren, indem Sie eine Kopfzeile übergeben. Also habe ich meinen Add-Code wie folgt aktualisiert:

%Vor%

Ich bekomme den Fehler: DOMException: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': 'AWS4-HMAC-SHA256 Credential=XXXXXXXXXXXXXXX/XXXXXXX/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-server-side​-encryption, Signature=XXXXXXXXXXXXXXXXXXXXX' is not a valid HTTP header field value.

    
Muhambi 28.07.2017, 17:22
quelle

1 Antwort

6

Aktualisierung:

Header-Felder können nur ASCII-Zeichen sein. x-amz-server-side-encryption in Ihrem Code enthält ein verstecktes Zeichen. Geben Sie es anstelle von Kopieren ein, indem Sie es von irgendwo einfügen. Gehen Sie zu dieser Webseite und fügen Sie den Namen des Header-Felds ein, nachdem Sie von Ihrer Frage kopiert haben. Sie werden sehen, was ich meine.

>

Aus der Dokumentation :

  

Sie können nicht erzwingen, ob Objekte mit SSE-S3 verschlüsselt werden, wenn sie mit vor-signierten URLs hochgeladen werden.

Sie müssen die Kopfzeile zusammen mit der URL signieren. Das Senden der Header nach dem Unterschreiben der URL funktioniert nicht.

%Vor%     
Lucky Soni 31.07.2017, 06:07
quelle