フレームワーク 3.2.3.RELEASE を使用して spring mvc アプリを開発しています
私のアプリでは、Multipart を StandardServletMultipartResolver で処理しますが、Apache commons-fileupload 1.3 でも同じです。
isMultipart メソッドの実装で PUT メソッドではなく POST メソッドのみが考慮される理由を知りたいです。エンティティと関連ファイルを更新したい場合は、POST で行う必要があります。
org.springframework.web.multipart.support.Standard ServletMultipartResolver を見る:
public boolean isMultipart(HttpServletRequest request) {
// Same check as in Commons FileUpload...
if (!"post".equals(request.getMethod().toLowerCase()) ) {
return false;
}
String contentType = request.getContentType();
return (contentType != null && contentType.toLowerCase().startsWith("multipart/"));
}
org.apache.commons.fileupload.servlet.ServletFileU pload にいる間:
public static final boolean isMultipartContent(HttpServletRequest request) {
if (!POST_METHOD.equalsIgnoreCase(request.getMethod() )) {
return false;
}
return FileUploadBase.isMultipartContent(new ServletRequestContext(request));
}
実際、PUTの代わりにPOSTメソッドを使用するだけです..しかし、PUTが考慮されない理由を理解したいです!
返信ありがとうマルコ