मैंमल्टीपार्ट फ़ाइल अधिकतम आकार अपवाद - वसंत बूट embbeded बिल्ला
multipart.maxFileSize: 1mb
multipart.maxRequestSize: 1mb
को अधिकतम फ़ाइल आकार निर्धारित किया है यह मेरा नियंत्रक है:
@RequestMapping(method=RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@ResponseStatus(HttpStatus.CREATED)
@Secured(Privileges.CAN_USER_READ)
public void create(@RequestParam("file")final MultipartFile file,Principal principal) throws IllegalStateException, IOException,MultipartException{
medicalHistoryService.create(new MedicalHistory(file));
}
यह है त्रुटि संदेश
2016-03-03 13:48:24.560 WARN 4992 --- [nio-8080-exec-1] h.c.w.RestResponseEntityExceptionHandler : Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (9288401) exceeds the configured maximum (1048576)
2016-03-03 13:48:25.545 WARN 4992 --- [nio-8080-exec-2] h.c.w.RestResponseEntityExceptionHandler : Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (9288401) exceeds the configured maximum (1048576)
और अधिक आकार के फ़ाइल के अनुरोध के बाद अंतिम परिणाम समस्या लोडिंग पेज है। मुझे स्टैक ट्रेस में कोई अन्य त्रुटि नहीं मिलती है, इसलिए मैं वास्तव में क्या चल रहा हूं उसके साथ अटक गया हूं। ओह हाँ मैंने कई अन्य समाधानों की कोशिश की है जैसे फिल्टर पंजीकृत करना, त्रुटि नियंत्रक में अपवाद को संभालना। हर बार मैं एक ही परिणाम के साथ खत्म हो जाएगा - सर्वर दुर्घटना।
संपादित 2
मेरे अपवाद हैंडलिंग वर्ग:
@ControllerAdvice
public class RestResponseEntityExceptionHandler extends
ResponseEntityExceptionHandler{
// 413 MultipartException - file size too big
@ExceptionHandler({MultipartException.class,FileSizeLimitExceededException.class,java.lang.IllegalStateException.class})
public ResponseEntity<Object> handleSizeExceededException(final WebRequest request, final MultipartException ex) {
//log.warn("413 Status Code. File size too large {}", ex.getMessage());
log.warn(ex.getMessage());
final ApiError apiError = message(HttpStatus.PAYLOAD_TOO_LARGE, ex);
return handleExceptionInternal(ex, apiError, new HttpHeaders(), HttpStatus.PAYLOAD_TOO_LARGE, request);
}
}
आपने अपना कोड पर्याप्त नहीं दिखाया है। उदाहरण के लिए 'हैंडलएक्सप्शन इंटरनेशनल' क्या करता है। ए [न्यूनतम, पूर्ण, सत्यापन योग्य उदाहरण] (http://stackoverflow.com/help/mcve) लोगों की आपकी सहायता करने में आसान बना देगा। –
'हैंडलएक्सप्शन इन्टरनेट' 'ResponseEntityExceptionHandler' की आंतरिक विधि है, जो दस्तावेज़ीकरण द्वारा है" {@ लिंक नियंत्रक एडवाइस @ कंट्रोलरएडवाइस} कक्षा * के लिए एक सुविधाजनक आधार वर्ग * जो केंद्रीकृत अपवाद हैंडलिंग प्रदान करना चाहता है "। –