Я хочу сделать служебный вызов, который принимает следующий параметр запроса в службе отдыха. Этот метод загружает файл на сервер изображений.Как преобразовать BufferedImage в файл MultiPart без сохранения файла на диск?
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public ResponseEntity<String> uploadFile(
@RequestParam("file") MultipartFile file) {
Ниже приводится код, где вызов службы делается - я прочитал изображение объекта BufferedImage из URL изображения
BufferedImage subImage= ImageIO.read(new URL(<some image url goes here>));
File outputFile = new File("C:\\" + "myimage" + ".jpg");
ImageIO.write(subImage, "jpg", outputFile);
MultiValueMap<String, Object> body = new LinkedMultiValueMap<String, Object>();
String url="http://serviceurl/upload";
body.add("file", outputFile);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
HttpEntity<MultiValueMap<String, Object>> entity = new HttpEntity<MultiValueMap<String, Object>>(body, headers);
restTemplate.exchange(url, HttpMethod.POST, entity, String.class);
AS вы можете видеть, файл первое существо созданный и сохраненный на диске. Как я могу избежать этого шага и просто использовать объект BufferedImage (я не хочу сохранять файл на локальный диск).
Пробовал решение ниже, но мне кажется, что вы не можете достичь этого, не сохраняя файл на своем диске. Это правда?
ли MultipartFile от 'org.springframework.web.multipart.MultipartFile'? – Jobin