2017-03-20 6 views
0

私のフォームにカスタム画像アップローダーを作成して使用しています。ファイル[]が複数回開かれている場合、前回のアップロードは消去されます

私は複数の画像をアップロードするユーザーなどが可能ています:

<input type="file" name="files[]" accept="image/*" class="files-data" id="upload_images" multiple=""> 

私が直面しています問題は、ユーザが「画像アップロードボタン」を複数回、毎回入力(配列をクリックしたときということです以前にアップロードされた画像の数)がリセットされます。

したがって、ユーザーが3つの画像をアップロードした場合、素晴らしい画像が表示されます。しかし、ファイルのアップロードをもう一度開き、別のイメージを2つアップロードすると、元の3つのファイルはなくなります。

私はこれを行うためのプラグインを探していません。これは私が見た他の画像アップローダから行うことができます。

複数の入力フィールドを複数回開いたときに、以前にアップロードした画像をどのように維持できますか?

ありがとうございました。

+1

私は問題はアップロードにあるとは思わないが、それ以降のデータでは何をするのだろうか。あなたはそのコードを共有できますか? – RST

+0

消えた、あなたはサーバーで消去されたという意味ですか?または置き換えられたか...または – frz3993

+0

いいえ、私が意味することは、既定の "複数のファイルのアップロード"です。ファイルのアップローダが開くたびに、以前にアップロードされたものが消去されます。各アップロードされたイメージを配列にプッシュして格納するので、ユーザーがファイルアップローダを複数回開くと何も失われません。 – Notorious

答えて

0

これはHTMLのデフォルト動作です。これらのアップロードされたファイルをjavascript/jQueryで管理して、ユーザーの選択を維持し、エスケープしようとしているプラ​​グインがあなたに代わって行う必要があります:)

0

アップロードした画像と新しいファイルがアップロードされるたびにそれらを配列に格納します。私の問題は、私が全く別のことをしていて、ユーザーがより多くのファイルをアップロードするたびにファイルを上書きするということでした。

いくつかの一般的な感覚、そしてしばらく考えるためにここに座って、私はこの1つ:)

MyForm = {}; // empty array 
MyForm.userUploads = []; // empty object 


    $('.add-listing-photos input[type="file"]').on('change', function() { 

     // Get the files. 
     var files = $(this)[0].files; 

     // For each file, append it onto the end of our array. 
     for(var key in files) { 
      if(typeof(files[key]) === 'object') { 
       MyForm.userUploads.push(files[key]); 
      } 
     } 

     console.log(MyForm.userUploads); 

    }); 

を解決し、その後、私のAJAXリクエストを介してこれを送っ助けました。

関連する問題