2
我服務that're在下面的例子中擔保與標記,如:https://stackoverflow.com/a/10864088/278279春和與危機干預多部分
問題是當我添加的文件上傳,過濾器無法找到令牌請求(我想原因是要求有多型)
我使用是CommonsMultipartResolver
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="100000000"/>
</bean>
和簡單的彈簧控制器,用於接收文件@RequestParam("pic") MultipartFile pic
要解決的問題,我修改,令牌檢索請求是否具有多類型:
if(request.getContentType().contains("multipart/form-data")){
List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest((HttpServletRequest) request);
for (FileItem item : items) {
if (item.isFormField() && item.getFieldName().equals("token")) {
return item.getString();
}
}
}
最後經過這個修改的認證工作,但在控制器MultipartFile不派遣更多,所以它拋出異常,在要求沒有參數。我怎樣才能解決這個問題,以便能夠接收帶有令牌認證的文件?
你可以閱讀有關[CSRF和多請求(http://docs.spring.io/spring-security/site/docs/ 3.2.x中/參考/ htmlsingle /#CSRF-multipartfilter)。請注意,我發現我們必須在Spring Security過濾器之後添加MultipartFilter **,而不是按照文檔。 – Bernie