我是Grails初學者,請耐心等待我。目前,我在操作文件上傳方面遇到困難。據我所知,使用request.getFile()
我可以很容易地得到字節流。但在此之前我這樣做,我要檢查以下內容:正在上傳Grails文件上傳 - 如何識別文件和/或內容類型?
- 文件的文件名
- 的文件的文件大小上載 文件的
- 內容/文件類型被上傳
這怎麼辦?文件上傳到服務器之前甚至有可能嗎?我想阻止上傳大文件。
我是Grails初學者,請耐心等待我。目前,我在操作文件上傳方面遇到困難。據我所知,使用request.getFile()
我可以很容易地得到字節流。但在此之前我這樣做,我要檢查以下內容:正在上傳Grails文件上傳 - 如何識別文件和/或內容類型?
這怎麼辦?文件上傳到服務器之前甚至有可能嗎?我想阻止上傳大文件。
所有信息都包含在可以將您的請求參數轉換爲的CommonsMultipartFile
對象中。
您可以使用它一樣,(在你的控制器)
def uploaded = {
def CommonsMultipartFile uploadedFile = params.fileInputName
def contentType = uploadedFile.contentType
def fileName = uploadedFile.originalFilename
def size = uploadedFile.size
}
至於阻擋大文件上傳,這可以通過添加以下到您的形式完成:
<INPUT name="fileInputName" type="file" maxlength="100000">
但並非所有的瀏覽器都會支持它。另一個限制是您的容器上傳限制(請參閱Tomcat配置或您正在使用的任何容器)。
除此之外,你必須檢查大小,並在控制器中拒絕它。
提供的所有內容都是使用簡單的HTML表單提交。 – mfloryan 2011-02-16 17:18:07
或者您可以直接上傳文件屬性而不使用CommonsMultipartFile。
高清ufile = request.getFile( 「fileInputName」)
的println(ufile.contentType)
的println(ufile.originalFilename)
的println(ufile.size)
你想做到這一點的前端還是後端? – 2011-02-16 16:59:14