Grails 文件上传未使用正确的内容类型
Posted
技术标签:
【中文标题】Grails 文件上传未使用正确的内容类型【英文标题】:Grails file upload not using correct content-type 【发布时间】:2015-05-22 21:18:04 【问题描述】:我在 Grails 中创建了文件上传,但我找不到获取使用 Content-Type:multipart/form-data
的请求的方法。请求正在发送
Content-Type:application/x-www-form-urlencoded
.
这是我的表格
<g:uploadForm controller='asset' action='upload'>
<label>Select file(s) to upload</label>
<input type='file' id='fileUpload' name='filesToUpload' multiple />
<g:submitButton name="upload" value="Upload"/>
</g:uploadForm>
在 Config.groovy 中,grails.mime.types
包含 multipartForm: 'multipart/form-data'
和 grails.web.disable.multipart=false
。我使用的是 Spring Security,AssetsController
是@Secured
。
如何使用Content-Type:multipart/form-data
发送请求?
【问题讨论】:
【参考方案1】:如果<g:uploadForm >
-Tag 不符合手册中的描述:
http://grails.github.io/grails-doc/2.5.x/ref/Tags/uploadForm.html
与标准表单标签相同,只是它自动将 enctype 属性设置为“multipart/form-data”。
那么您可以尝试使用普通的<g:form >
-Tag 并添加 enctype 属性,甚至根本不使用该标签。一个简单的 HTML 上传也可以:
<form action="$g:createLink controller:'', action:''" method="post" enctype="multipart/form-data">
<input type="file" name="fileupload">
<input type="submit" name="upload">
</form>
【讨论】:
以上是关于Grails 文件上传未使用正确的内容类型的主要内容,如果未能解决你的问题,请参考以下文章