6

作成中のアップローダーに対して次のコードを実行しています。

holder.ondrop = function (e) {
    e.preventDefault();
    console.log(e);
}

ユーザーがファイルをデスクトップから Web ブラウザーにドラッグできるようにしてから、その場所をキャプチャして、手動でアップロードできるようにしたい (javascript を介してアップロードしたくない) 私の質問はただし、イベントからファイルのクライアントの場所を取得して、ファイルに入れるにはどうすればよい<input type="file">ですか?

ありがとう。

4

2 に答える 2

3

これは、イベントのdataTransferオブジェクトを使用してドラッグされたファイルのリストを取得するmozillaの例です。

私の例:

holder.ondrop = function (e) {
    e.preventDefault();
    if(e.dataTransfer && e.dataTransfer.files.length != 0){
        var files = e.dataTransfer.files //Array of filenames
        files[0]; //the first file in the list

        // code to place file name in field goes here...

    }else{
        // browser doesn't support drag and drop.
    }

    console.log(e);
}

私が提供したよりも包括的であるため、mozillaの例を使用してください。

于 2012-07-19T10:59:56.970 に答える
2

入力ファイル フィールドは通常の入力フィールドとして扱うことができ、その値は次のように取得できます。

<input id="inputid" type="file" dropzone="..."> 

holder.ondrop = function (e) {
    e.preventDefault();
    var path = $('#inputid').val();
    //split the string at the lastIndexOf '/' to get filename 
    console.log(e);
}
于 2012-07-19T10:51:14.047 に答える