8

blueimpの優れたjquery-file-uploadを Grails 2.0 に統合し、そのための新しいプラグインを作成しようとしています。プラグインが既にあることは知っていますが、リソースを使用せず、9 か月間更新されておらず、その間に jquery-file-upload が大幅に変更されました。

そこで、ディストリビューションのすべてのファイルをプラグインに入れ、アップロードを処理できるコントローラー アクションを作成しようとしています。問題は、エントリrequest.getFileNames()が 1 つしかfiles[]ないことと、アップロードしている 3 つの個別のファイルを取得する方法がわからないことです。

次のような入力によって送信されたファイルをどのように処理します<input type="file" name="files[]" multiple>か?

4

2 に答える 2

4

実際、私はそれを理解しました。フォームには 1 つしかなくinput[type=file]、複数のファイルを選択すると、同じ要求で送信されません。query-file-uploadスクリプトは、ファイルと同じ数の POST 要求を送信します。そのため、request.getFileNames()毎回 1 つのエントリしか提供されません。プラグインを作成できました。まもなく公開されます。http://grails.org/plugin/bootstrap-file-uploadに注意してください。

于 2012-04-16T08:40:44.230 に答える
2

request.getFileNames配列を返します-この配列を反復処理して、すべてのファイルを取得できます。この例は、プラグインの説明にすでにあります。

def all = request.getFileNames()
all.each {name ->
   def file = request.getFile(name)
}

これにより、アップロードされたすべてのファイルが得られます。

于 2012-04-15T06:59:02.747 に答える