0
從1.3.8升級到Spring Boot 1.5.2後,我們的流式文件上載不再有效。升級到Spring Boot 1.5後,Apache commons fileupload FileItemIterator沒有元素
這是設置。
- 包括公地文件上傳:1.3.1
- 禁用由在application.yml
指定該文件上傳嵌入的Tomcat multipart.enabled:假
import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
...
@RequestMapping(
value = '/upload ,
method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE
)
public ResponseEntity<MyObject> uploadFile(HttpServletRequest request) {
ResponseEntity<MyObject> retval = null;
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iter = upload.getItemIterator(request); <<<
// iter contains no elements when using SpringBoot 1.5.2
// iter does contain the expected elements when using SpingBoot 1.4.+
// I tried commons-fileupload:1.3.1 and 1.3.3
while (iter.hasNext()) { <<< no elements when using Spring boot 1.5
...
}
...
}
嗨,歡迎來到Stack Overflow,請閱讀如何創建[最小,完整和可驗證的示例](https://stackoverflow.com/help/mcve),並檢查[如何提出好問題](https ://stackoverflow.com/help/how-to-ask)所以你增加了獲得反饋和有用答案的機會。 – DarkCygnus