2012-04-14 45 views
7

我試圖將優秀的jquery-file-upload from blueimp集成到Grails 2.0中,併爲此編寫一個新的插件。我知道有already a plugin,但它不使用資源,並且它在9個月內沒有更新,並且jquery-file-upload在那段時間內已經發生了很大的變化。Grails中的多文件上傳

因此,我將發佈的所有文件放在我的插件中,現在我正在嘗試編寫一個可處理上傳的控制器操作。問題是,request.getFileNames()只給我一個files[]條目,我不知道如何檢索我上傳的3個人文件。

你如何處理像這樣的輸入發送的文件:<input type="file" name="files[]" multiple>

回答

2

request.getFileNames返回一個數組 - 您可以迭代該數組以獲取所有文件。該示例已經在插件描述中。

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

這應該會給你所有上傳的文件。

4

其實我想通了。表單中只有一個input[type=file],如果我選擇了幾個文件,它們不會在同一個請求中發送。 query-file-upload腳本會發送與文件一樣多的POST請求。這就是爲什麼request.getFileNames()每次只給我一個條目。我設法創建了我的插件,它很快就會發布。當心http://grails.org/plugin/bootstrap-file-upload