8

これが可能かどうかはわかりません.jQueryを使用して独自のファイルアップロードプラグインを作成していますが、うまく機能していますが、ユーザーがデスクトップからファイルをドロップできるようにすることで、ユーザーエクスペリエンスを向上させたいと考えています. divに入れ、そのファイルを入力に追加します

アップロードと同じようにドラッグアンドドロップが機能していますが、現在、ドラッグアンドドロップは複数のアップロードとは別のものです。

したがって、私のhtml5ドロップ関数では、次のようなことをしたいと思います:

<div id="dropZone"></div>
<!--Drop area is seperate from the fileUpload below-->
<form enctype="multipart/form-data">
    <input class="clear" name="nonImagefilesToUpload[]"  id="nonImagefilesToUpload" type="file" multiple/>
</form>

this.drop = function(e){
    e.stopPropagation();
    e.preventDefault();
    files = e.dataTransfer.files ; 
    for (var i = 0, file; file = files[i]; i++) {

        //pseudo code
        if ( !file.type.match(settings.imageTypeMatch )) {
            //not an image so I want to append it to my files array
            $('#nonImagefilesToUpload').append( file[i] );
            //hoping this will also trigger my input change


        }else{
            var reader = new FileReader();
            reader.onload = (function(aFile) {
            return function(evt) {
                if (evt.target.readyState == FileReader.DONE) 
                {
                    //code to handle my images
                    //which are uploaded seperate via xhr
                }   
            })(file);//done reading the file

            //read the file
            reader.readAsDataURL(file);
        }
    }


    return false;
};  

誰かがこれを手伝ってくれるなら、それはありがたいです.証券のために不可能かもしれませんが、私は尋ねると思いました.

4

1 に答える 1

4

あなたは正しいです。file入力フィールドの値は変更できません。


編集:

2017年から、ドロップされたファイルをファイル入力に設定できるようになりました。ページにファイルをドロップするときにファイル入力値を設定する方法を参照してください。

于 2013-03-04T04:20:08.767 に答える