Quiero subir una imagen al sistema de archivos. Así que estoy usando la carga de archivos de varias partes con arranque de primavera. Y también estoy usando la herramienta Advance Rest Client (Chrome) para POST Archivo de varias partes . Pero me encuentro con un error, incluso si no especifico ningún tipo de contenido org.apache.tomcat.util.http.fileupload.FileUploadException: la solicitud fue rechazada porque no se encontró ningún límite multiparte.
Aquí mi código de controlador de descanso,
@RestController public class StringController { @RequestMapping(value="/upload", method=RequestMethod.POST) public @ResponseBody String singleSave(@RequestParam("file") MultipartFile file){ String fileName = null; if (!file.isEmpty()) { try { fileName = file.getOriginalFilename(); byte[] bytes = file.getBytes(); BufferedOutputStream buffStream = new BufferedOutputStream(new FileOutputStream(new File("F:/" + fileName))); buffStream.write(bytes); buffStream.close(); return "You have successfully uploaded " + fileName; } catch (Exception e) { return "You failed to upload " + fileName + ": " + e.getMessage(); } } else { return "Unable to upload. File is empty."; } } }Captura de pantalla (herramienta de cliente de descanso avanzado)
Error
{ "timestamp": 1490678908517, "status": 500, "error": "Internal Server Error", "exception": "org.springframework.web.multipart.MultipartException", "message": "Could not parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadException: the request was rejected because no multipart boundary was found", "path": "/upload" }
El problema está en su solicitud de cliente de descanso anticipado. Está funcionando bien en el cartero. La imagen se está cargando. Prueba con el cartero y lo conseguirás.
Perdió en el límite de valor de los encabezados de solicitud de su cliente. Construya en el encabezado de PostMan "Content-Type" de esta manera:
Content-Type : multipart/form-data;boundary="12312313132132"