3

ファイルアップロードボタンの種類のキューを作成する方法を探しています。次のコードで:

<input type = 'file' name = 'file[]' multiple = 'multiple' />

最新のブラウザでは、一度に複数のファイルを選択してアップロードできます。ただし、ボタンをもう一度クリックしてさらにファイルを選択すると(たとえば、別のフォルダーから)、現在選択されているファイルが削除されます。新しく選択したファイルのセットが古いセットを上書きしないようにする方法はありますか?

4

2 に答える 2

1

HTML5についてはよくわかりませんが、セキュリティ上の理由から、以前のバージョンのJSではこれを実行できません。ユーザーがアップロードすることを選択したファイルを変更することはできません。または、ファイルパスを変更して、ハードドライブから必要なファイル(パスワードファイルなど)をアップロードすることもできます。

これに対する1つの解決策は、複数のファイルを受け取る単一のファイルではなく、複数のファイル入力を持つことです。ユーザーがアップロードするファイルを選択するときに、それらを動的に追加します。たとえば、onchangeリスナーを最新のファイル入力に追加し、ユーザーがファイルを選択したら、リスナーを削除してから、別のファイル入力を追加できます(onchangeリスナーをこの新しいファイル入力にアタッチします)。もちろん、これらの入力にはある種の増分命名スキームが必要であり、サーバーは結果のアップロードを処理する必要があります。

于 2012-07-21T23:10:32.377 に答える
0

はい、私が使用した方法があります。

これを聞きます; ユーザーがファイルを選択したら、CSSでこの入力を非表示にし、別の名前で別の入力を生成します。そこにいくつあるかという情報が必要になります。そのため、初期値1で非表示の入力を追加でき、毎回+1できます。

お役に立てれば。

于 2012-07-21T23:09:15.607 に答える