2012-11-29 69 views
1

我想在Grails中設計一個接受多部分的控制器,如「XML +二進制文件1 +二進制文件2 + ...」。我如何解析這個請求?我很欣賞任何示例代碼!解析Grails中的多部分

感謝, 禮

+0

你有什麼試過?你有沒有試過它在[文檔]中顯示的方式(http://grails.org/doc/2.0.x/guide/theWebLayer.html#uploadingFiles)? –

+0

是的。但主要問題是我沒有給它任何形式。客戶端只需發送http post和相關數據。我不知道如何使用def f = request.getFile('myFile'),但我不知道它的引用名稱。任何建議('myFile'--->?)? – Reza

回答

1

所以我假設你是在談論一個具有多個屬性的輸入類型的文件。這裏是你如何處理它的服務器端:

List<MultipartFile> files = request.multiFileMap.nameOfInputFileElement 

files.each { uploadedFile -> 

    if(!uploadedFile.empty){ 

     File newFile = new File(parentDir, uploadedFile.originalFilename) 
     uploadedFile.transferTo(newFile) 
    } 
} 
+0

你怎麼知道文件的名字?在我的情況下沒有分配給它的表單。只需簡單的控制器客戶端只發送http多部分帖子。 – Reza

+0

你能舉一個例子嗎? –

+0

我的建議是隻在控制器中設置一個斷點並查看是否可以在請求中找到它。 –

1

我會做這樣的事情:

def uploadedFile = request.getFile('filepath') 
    if (uploadedFile && !uploadedFile.empty) 
     println "file:${uploadedFile?.originalFilename} uploaded" 
    }