var data = new FormData(document.getElementById("uploadform"));
$.each($('#file')[0].files, function(i, file) {
data.append('file-'+i, file, this.name);
});
そのコードは Chromium 26 では機能しますが、Firefox 21 では機能しません。各ループ内に "alert(this.name)" というアラートを配置しました。このアラートは、Chrome ではファイル名を表示しますが、Firefox では何も表示しません。 Firefoxでダウン。
Firefox 24でも試しましたが、同じ問題です。このコードは、21 より古いバージョンの Firefox で動作していたことを知っています。
いくつかのパラメーターを除外するだけで、このわずかな変更により、同じ結果が得られます。
var data = new FormData();
$.each($('#file')[0].files, function(i, file) {
data.append('file-'+i, file);
});
Mozilla のドキュメントは、これがサポートされていることと、私が正しく行っていることを示しているため、何が起こっているのかわかりません。
興味のある方は、コードの ajax 呼び出し部分を次に示します (ただし、これは問題ではありません。アラート チェックによると、上記のコードでは行き詰っています)。
$.ajax({
url: 'upload.php',
data: data,
contentType: false,
processData: false,
cache: false,
type: 'POST',
success: function(data){ }
誰もが同様の問題を抱えていますか、またはどこを見ればよいかわかりませんか?