1

私は新しいドラッグアンドドロップファイルプラグインに取り組んでいますが、そこにあるすべてのプラグインとは異なり、「ドロップ」したままアップロードしたくありません。

アイデアは次のとおりです。 1. ユーザーはファイルをドラッグ アンド ドロップします。

2.(サム・マジック)

3.ユーザーはフォームを送信し、サーバーにアップロードされたファイルのみを送信します

ファイルの名前を としてフォームに追加しようとinput type=hiddenしましたが、サーバー側 (php) では何もできません。

ファイルの詳細をinput type=fileフィールドに追加して、ブラウザがファイルが通常の方法で選択されたと「考える」ようにすることはできますかfile input field

私のjs:

$('#drop-zone').bind('drop', function(e) {

    // This variable represents the files that have been dragged
    // into the drop area
    var files = e.dataTransfer.files;

    $('#uploaded-list').show();
    // For each file
    $.each(files, function(index, file) {

        /* What can I do in here?*/

    });


});

ありがとう。

4

1 に答える 1

1

すでに解決されているかもしれませんが、私は今日これを理解しました。

これは IE9 準拠ではありませんが (ドラッグ アンド ドロップ ファイルでもありません)、dataTransfer.files データを保存し、送信する準備ができたら、フォームから FormData を作成してファイルを追加できます。

var formData = new FormData(html_element_of_form); //not a jq obj!
for (var i = 0; i < files.length; i++) {
  formData.append('file', files[i]);
}

// now post a new XHR request
var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload');
xhr.onload = function () {
  if (xhr.status === 200) {
    console.log('all done: ' + xhr.status);
  } else {
    console.log('blarrghhhhh...');
  }
};

xhr.send(formData);
于 2012-10-23T00:52:36.493 に答える