3

ユーザーが複数の SVG ファイルをサーバーにアップロードできるようにします。

<form target="my_iframe" enctype="multipart/form-data">
    <input name="file" type="file" multiple>
</form>
<div id="message"></div>

ただし、一部のユーザーは、多数のファイルをアップロードする必要があります。ファイル自体は比較的小さい (200 kB 未満) ですが、数十、場合によっては 100 程度になることもあります。

アップロードと処理には時間がかかります。アップロード中に何か問題が発生した場合は、最初からやり直す必要があります。

同様の問題を抱えた Web サイト (Facebook、SmugMug など) で、一度に 1 つのファイルのみをアップロードするのを見たことがあります。

プラグインなし (Sliverlight、Flash など) ユーザーに 1 つのファイルを選択させ、それぞれに異なる要求をさせるにはどうすればよいですか? IE9+、Chrome、および Firefox をターゲットにしています。

何かのようなもの

//DOES NOT WORK
$.each($('input').files, function(file, i, files) {
    $('input').files = [file]; //obviously flawed, since this is an Array, not a FileList
    $('#message').text('Uploading ' + i + ' of ' + files.length);
    $('form').submit();
});

(これはセキュリティ上の理由から機能しないと人々が言うのを聞いたことがありますが、FileList.

XHR を使用してマルチパートでエンコードされたデータを自分で送信できると思いますが、それが正しい解決策である場合、それがどのように機能するか、またはフォーマットする方法がわかりません。

これは珍しい状況ではないと思いますが、検索結果は驚くほど少ないです。

4

2 に答える 2