Grails文件上传不使用正确的内容类型

时间:2015-03-19 16:28:23

标签: grails groovy spring-security gsp

我在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 个答案:

答案 0 :(得分:1)

如果<g:uploadForm > - 标签不是手册中描述的内容:

http://grails.github.io/grails-doc/2.5.x/ref/Tags/uploadForm.html

  

与标准表单标记相同,只是它自动将enctype属性设置为“multipart / form-data”。

然后你可以尝试使用普通<g:form > - 标签并添加enctype属性,甚至根本不使用标签。一个简单的HTML-Upload也可以使用:

<form action="${g:createLink controller:'', action:''}" method="post" enctype="multipart/form-data">
    <input type="file" name="fileupload">
    <input type="submit" name="upload">
</form>