のドキュメントを読むことができますこれはすべてのブラウザでうまくいくわけではありませんが、AJAX経由で複数のファイルをアップロードする素晴らしい方法です:
function upload_files(entityKey, files, url, progress_callback) {
var xhr = new XMLHttpRequest(), formData = new FormData();
xhr.upload['onprogress'] = progress_callback;
formData.append('entityKey', entityKey);
$.each(files, function(i, file) { formData.append('file[]', file);});
xhr.open("post", url, true);
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.send(formData);
}
entityKeyは、サーバー上のパラメーターの例です。 'files'パラメータは、file-type入力フォーム要素の 'files'属性(multipleをサポートする配列)から来ます。 'progress_callback'パラメータは、(少なくとも) 'loaded'と 'total'フィールド(単位はバイト)を持つオブジェクトを取得する関数です。サーバーの応答は気にしません。
ありがとうございますが、私は実際にコード化して何が起こっているのか理解したいと思います。 –
@jasonなぜホイールを再発明するのですか? –