【問題】Spring mvcを使用してファイルをアップロードする際に発生する問題(CommonsMultipartResolverの構成)
1391 ワード
フレームワーク:SPRING MVC
アップロードコントロール:swfupload
バックグラウンド部分コード:
メソッドの最初の文のコードを実行するときにエラー:org.apache.catalina.connector.RequestFacade cannot be cast to org.springframework.web.multipart.MultipartHttpServletRequest
資料を調べてみると、springプロファイルにはmultipart解析器の構成が少なく、以下のようになっています.
問題が解決する.
------------------------
説明:
MultipartHttpServertRequestはSpring mvcが提供するアップロードコンポーネントであり、プロファイルで構成したり、注釈で実装したりすることができます.
このような問題が発生したのは、beanが構成されていない場合、requestがCommonsMultipartResolverによって処理されていないためである.
-----------------
また、アップロード時にcommon-fileupload、ioのjarパッケージを追加することを覚えています.
アップロードコントロール:swfupload
バックグラウンド部分コード:
@RequestMapping(value = "upload")
private String upload(HttpServletRequest request, HttpServletResponse response) throws Exception{
//
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("Filedata");
//
}
メソッドの最初の文のコードを実行するときにエラー:org.apache.catalina.connector.RequestFacade cannot be cast to org.springframework.web.multipart.MultipartHttpServletRequest
資料を調べてみると、springプロファイルにはmultipart解析器の構成が少なく、以下のようになっています.
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="104857600"/>
<property name="maxInMemorySize" value="4096"/>
</bean>
問題が解決する.
------------------------
説明:
MultipartHttpServertRequestはSpring mvcが提供するアップロードコンポーネントであり、プロファイルで構成したり、注釈で実装したりすることができます.
このような問題が発生したのは、beanが構成されていない場合、requestがCommonsMultipartResolverによって処理されていないためである.
-----------------
また、アップロード時にcommon-fileupload、ioのjarパッケージを追加することを覚えています.