[JAVA] Téléchargement de fichiers avec Spring Boot (ne pas utiliser de fichier en plusieurs parties)

Les fonctions suivantes seront implémentées cette fois. ・ Créez une API pour télécharger des photos -Recevoir des données en binaire sans utiliser MultipartFile -Output le fichier dans le répertoire spécifié via Java ・ Le nom du fichier est automatiquement numéroté par année, mois, jour, heure, minute et seconde (le nom de la source de téléchargement n'est pas utilisé). -Obtenir des informations binaires et obtenir le format compressé (extension) de l'image Pour cette partie, je me suis référé aux informations suivantes. → Déterminez le type d'image à partir de données binaires

Fichier à modifier

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);
	}
}

** Voir l'article lié pour ImageTypeCheck.java ** (J'ai fait quelques modifications, mais cela a fonctionné tel quel) ImageType.java

Lors de l'envoi de données binaires, il existe plusieurs méthodes telles que les commandes client http telles que curl, javascript et REST client, mais cette fois j'ai utilisé Postman.

2.png

Après avoir écrit jusqu'à présent, j'ai remarqué que IOException est essayé et jette dans Controller. Je vais le refactoriser à une date ultérieure. Bien qu'il ait un but, il gaspille des ressources en passant par ByteArrayOutputStream, alors examinez-le. .. github kaikusakari/spring_crud

Recommended Posts

Téléchargement de fichiers avec Spring Boot (ne pas utiliser de fichier en plusieurs parties)
Téléchargement de fichiers avec Spring Boot
Utiliser Spring JDBC avec Spring Boot
Utiliser l'authentification de base avec Spring Boot
Utiliser le cache avec EhCashe 2.x avec Spring Boot
Comment utiliser MyBatis2 (iBatis) avec Spring Boot 1.4 (Spring 4)
Comment utiliser h2db intégré avec Spring Boot
Télécharger avec Spring Boot
J'ai essayé d'implémenter le téléchargement de fichiers avec Spring MVC
Générer un code à barres avec Spring Boot
Hello World avec Spring Boot
Implémenter GraphQL avec Spring Boot
Démarrez avec Spring Boot
Bonjour tout le monde avec Spring Boot!
Spring Boot commençant par copie
Spring Boot à partir de Docker
Hello World avec Spring Boot
Définir des cookies avec Spring Boot
Ajouter un module avec Spring Boot
Premiers pas avec Spring Boot
Créer un micro service avec Spring Boot
Envoyer du courrier avec Spring Boot
Découpez SQL en fichier de propriété avec jdbcTemplate of spring boot
Emplacement de téléchargement temporaire de Spring Boot [/ tmp / tomcat ・ ・ ・ is not valid]
Utilisez thymeleaf3 avec le parent sans spécifier spring-boot-starter-parent dans Spring Boot
gRPC sur Spring Boot avec grpc-spring-boot-starter
Créez une application avec Spring Boot 2
Déploiement à chaud avec le développement Spring Boot
Liaison de base de données avec doma2 (Spring boot)
Comment réaliser un téléchargement de fichiers volumineux avec TERASOLUNA 5.x (= Spring MVC)
Programmation Spring Boot avec VS Code
Jusqu'à "Hello World" avec Spring Boot
Créer une application d'enquête avec Spring Boot
[Java] N'utilisez pas "+" dans append!
Obtenez des résultats de validation avec Spring Boot
Implémenter le téléchargement de fichiers avec Spring MVC
(Intellij) Hello World avec Spring Boot
Créez une application avec Spring Boot
Google Cloud Platform avec Spring Boot 2.0.0
Utiliser DBUnit pour le test Spring Boot
Comment utiliser ModelMapper (Spring boot)
J'ai essayé GraphQL avec Spring Boot
[Java] Intégration LINE avec Spring Boot
J'ai essayé Flyway avec Spring Boot
Téléchargement automatique de fichiers avec l'ancienne gemme Ruby Que faire avec Watir
Comment réaliser un téléchargement de fichiers volumineux avec Rest Template of Spring
La coopération des messages a commencé avec Spring Boot
Qu'est-ce qu'un fichier .original Spring Boot?
Hello World avec Eclipse + Spring Boot + Maven
Priorité d'accès aux fichiers statiques dans Spring Boot
Envoyez des notifications régulières avec LineNotify + Spring Boot
Mémorandum de téléchargement de fichier local avec Spring Boot
HTTPS avec Spring Boot et Let's Encrypt
Essayez d'utiliser Spring Boot avec VS Code
Démarrez le développement d'applications Web avec Spring Boot
Lancez l'application Nginx + Spring Boot avec docker-compose