[JAVA] Datei-Upload mit Spring Boot (keine mehrteilige Datei verwenden)

Die folgenden Funktionen werden dieses Mal implementiert. ・ Erstellen Sie eine API zum Hochladen von Fotos -Erhalten Sie Daten in Binärform ohne Verwendung von MultipartFile

Zu ändernde Datei

1.png

Controller

java:com.example.UsersController.java


@RequestMapping(path = "/users/upload", method = RequestMethod.POST)
public void upload(InputStream req) throws IOException {

	ByteArrayOutputStream byteos = new ByteArrayOutputStream();
	byte[] buf = new byte[1024];
	int size = 0;
	while ((size = req.read(buf, 0, buf.length)) != -1) {
		byteos.write(buf, 0, size);
	}

	String filename = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS").format(LocalDateTime.now());
	Path uploadfile = Paths.get("Users/demo-kusa/image" + filename
			+ "." + getFormat(byteos.toByteArray()));

	try (OutputStream os = Files.newOutputStream(uploadfile, StandardOpenOption.CREATE)) {
		os.write(byteos.toByteArray());
	} catch (IOException ex) {
		System.err.println(ex);
	}
}

** Siehe den verlinkten Artikel für ImageTypeCheck.java ** (Ich habe einige Änderungen vorgenommen, aber es hat so funktioniert, wie es ist) ImageType.java

Beim Senden von Binärdaten gibt es verschiedene Methoden wie http-Client-Befehle wie curl, Erstellen mit Javascript, REST-Client usw., aber diesmal habe ich Postman verwendet.

2.png

Nachdem ich bisher geschrieben habe, habe ich festgestellt, dass IOException versucht wird und Controller auslöst. Ich werde es zu einem späteren Zeitpunkt umgestalten. Obwohl es einen Zweck hat, verschwendet es Ressourcen, indem es ByteArrayOutputStream durchläuft. Überprüfen Sie es daher. .. github kaikusakari/spring_crud

Recommended Posts

Datei-Upload mit Spring Boot (keine mehrteilige Datei verwenden)
Datei-Upload mit Spring Boot
Verwenden Sie Spring JDBC mit Spring Boot
Verwenden Sie die Standardauthentifizierung mit Spring Boot
Verwenden Sie den Cache mit EhCashe 2.x mit Spring Boot
Verwendung von MyBatis2 (iBatis) mit Spring Boot 1.4 (Spring 4)
Verwendung des eingebauten h2db mit Federstiefel
Mit Spring Boot herunterladen
Ich habe versucht, das Hochladen von Dateien mit Spring MVC zu implementieren
Generieren Sie mit Spring Boot einen Barcode
Hallo Welt mit Spring Boot
Implementieren Sie GraphQL mit Spring Boot
Beginnen Sie mit Spring Boot
Hallo Welt mit Spring Boot!
Spring Boot beginnt mit dem Kopieren
Spring Boot beginnend mit Docker
Hallo Welt mit Spring Boot
Setzen Sie Cookies mit Spring Boot
Modul mit Spring Boot hinzufügen
Erste Schritte mit Spring Boot
Erstellen Sie mit Spring Boot einen Mikrodienst
Mail mit Spring Boot verschicken
Schneiden Sie SQL in die Eigenschaftendatei mit jdbcTemplate von Spring Boot aus
Temporärer Upload-Speicherort für Spring Boot [/ tmp / tomcat ・ ・ ・ ist ungültig]
Verwenden Sie thymeleaf3 mit parent, ohne Spring-Boot-Starter-Parent in Spring Boot anzugeben
gRPC auf Spring Boot mit grpc-spring-boot-Starter
Erstellen Sie eine App mit Spring Boot 2
Hot Deploy mit Spring Boot-Entwicklung
Datenbankverknüpfung mit doma2 (Spring Boot)
So realisieren Sie mit TERASOLUNA 5.x (= Spring MVC) das Hochladen großer Dateien
Spring Boot Programmierung mit VS Code
Bis "Hallo Welt" mit Spring Boot
Erstellen Sie eine Anfrage-App mit Spring Boot
[Java] Verwenden Sie nicht "+" im Anhang!
Erhalten Sie Validierungsergebnisse mit Spring Boot
Implementieren Sie den Dateidownload mit Spring MVC
(Intellij) Hallo Welt mit Spring Boot
Erstellen Sie eine App mit Spring Boot
Google Cloud Platform mit Spring Boot 2.0.0
Verwenden Sie DBUnit für den Spring Boot-Test
Verwendung von ModelMapper (Spring Boot)
Ich habe GraphQL mit Spring Boot ausprobiert
[Java] LINE-Integration mit Spring Boot
Ich habe Flyway mit Spring Boot ausprobiert
Automatischer Datei-Upload mit altem Ruby-Edelstein Was tun mit Watir?
So erzielen Sie mit Rest Template of Spring einen großen Datei-Upload
Die Nachrichtenkooperation begann mit Spring Boot
Was ist eine Spring Boot-Originaldatei?
Hallo Welt mit Eclipse + Spring Boot + Maven
Statische Dateizugriffspriorität beim Spring Boot
Senden Sie regelmäßige Benachrichtigungen mit LineNotify + Spring Boot
Memorandum zum Herunterladen lokaler Dateien mit Spring Boot
HTTPS mit Spring Boot und Let's Encrypt
Versuchen Sie es mit Spring Boot mit VS-Code
Starten Sie die Entwicklung von Webanwendungen mit Spring Boot
Starten Sie die Nginx + Spring Boot-Anwendung mit Docker-Compose