4
私はCORSが有効になっている外部サーバーに画像をアップロードするのにXHRを使用しています。MacでSafari 10がXHRでファイルをアップロードしない
Chrome、Firefox、IEではすべて正常に動作します。
しかし、Safariを使用すると、サーバーの応答はMIMEタイプエラーです。ファイルタイプが 'application/octet-stream'で、 'image/*'でなければならないと言っています。
MIMEタイプのチェックを無効にすると、Safariはファイルをアップロードできますが、空のファイルはすべて0bにアップロードされます。
誰もが知っていますか?
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://up-z1.qiniu.com/', true);
var formData;
formData = new FormData();
formData.append('key', file.name);
formData.append('token', acessToken);
formData.append('file', file);
xhr.onreadystatechange = function (response) {
if (xhr.readyState == 4 && xhr.status == 200 && xhr.responseText != "") {
callback(true,null);
} else if (xhr.status != 200 && xhr.responseText) {
callback(false,null);
}
};
xhr.send(formData);
この問題に対する最善の答え。 @ arslan2012どのようにこれを把握しましたか? –