2016-04-13 11 views
0

Ich versuche eine Datei von localhost: 8888 auf www.base.com hochzuladen. Wenn der Upload startet habe ich diesen FehlerAntwortkopf und Anfragekopf für domänenübergreifenden Dateiupload setzen

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote 
resource at http://base.com/public_upload. (Reason: missing token 'x-file-name' 
in CORS header 'Access-Control-Allow-Headers' from CORS preflight channel). 

die Header-Antworten von PHP-Server Hier sind, die ich

header('Access-Control-Allow-Origin: http://localhost:8888'); 
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE"); 
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept"); 

eingestellt Und hier sind die Request-Header in Upload-Skript, das in Browser von localhost gehostet läuft: 8888

xhr.setRequestHeader("Content-Type", "multipart/form-data"); 
xhr.setRequestHeader("X-File-Name", unescape(encodeURIComponent(file.name))); 
xhr.setRequestHeader("X-File-Size", file.size); 
xhr.setRequestHeader("X-File-Type", file.type); 

Welche Header habe ich falsch konfiguriert, um solche Fehlermeldung zu erstellen?

Antwort

1

Sie haben X-File-Name, X-File-Size und X-File-Type in die Liste der Header hinzufügen:

header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, X-File-Name, X-File-Size, X-File-Type"); 

die Access-Control-Allow-Headers Header Entfernen sollte auch funktionieren.