[JAVA] Comment charger un fichier de téléchargement Spring et afficher son contenu

Vous ne pouvez pas importer les classes requises à moins d'installer la bibliothèque sur stater-web dans build.gradle. Décrit en premier. Actualisez Gradle lorsque vous pouvez écrire.

build.gradle


dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-web'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	compile('org.springframework.boot:spring-boot-starter-thymeleaf')
	compile('org.springframework.boot:spring-boot-starter-data-jpa')
	compile ('org.springframework.boot:spring-boot-starter-web')
}

Ajoutez une instance de la classe ** MultipartFile ** à l'argument de la méthode de publication du contrôleur. C'est le fichier qui a été sélectionné à partir du HTML avec \ et publié avec \ Devenez une instance.

ModelAndViewController.java


	@RequestMapping(value="/",method=RequestMethod.POST)
	public ModelAndView post(
			@RequestParam("upload_file")MultipartFile uploadFile,
			ModelAndView mav) 
	{
		mav.setViewName("index");
		mav.addObject("file_contents", fileContents(uploadFile));
		mav.addObject("recordSet", list);
		return mav;
	}

Un endroit pour convertir le contenu du fichier lu au format texte et l'extraire. Lors de la lecture à partir de ** MultiPartFile **, il s'agit d'un flux d'octets, donc pour le convertir en un format texte tel qu'un fichier csv, convertissez-le en ** Reader ** -> ** BufferedReader **. (Je ne sais pas s'il est nécessaire d'insérer un Reader.) Au final, dans ce code, la variable buf contient le contenu du fichier au format texte, il suffit donc de le lire de la même manière qu'une application locale telle que Swing.

ModelAndViewController.java


private List<String> fileContents(MultipartFile uploadFile) {
		List<String> lines = new ArrayList<String>();
		String line = null;
		try {
			InputStream stream = uploadFile.getInputStream();			
			Reader reader = new InputStreamReader(stream);
			BufferedReader buf= new BufferedReader(reader);
			while((line = buf.readLine()) != null) {
				lines.add(line);
			}
			line = buf.readLine();
			
		} catch (IOException e) {
			line = "Can't read contents.";
			lines.add(line);
			e.printStackTrace();
		}
		return lines;
	}

Vous ne pouvez pas télécharger à moins que vous ne décriviez ** enctype = "multipart / form-data" ** dans la balise form de html.

index.html


<!--Implémentation du bouton de téléchargement de fichier-->
	<form method="post" action="/" enctype="multipart/form-data">
		<input type="submit" value="Téléverser un fichier">
		<input type="file" name="upload_file">	
	</form>
	<p th:text="${file_name}"></p>
	<table>
<!--Ci-dessous se trouve l'affichage des résultats-->
	<tr th:each="line:${file_contents}">
		<td th:text=${line}></td>
	</tr>
	</table>

Recommended Posts

Comment charger un fichier de téléchargement Spring et afficher son contenu
Comment tester l'écran de téléchargement de fichiers avec Spring + Selenium
[Rails] Comment charger JavaScript dans une vue spécifique
Comment charger l'interface utilisateur créée avec un fichier Xib dans View
Je veux obtenir une liste du contenu d'un fichier zip et sa taille non compressée
Comment réaliser un téléchargement de fichiers volumineux avec TERASOLUNA 5.x (= Spring MVC)
Comment lire un fichier et le traiter comme une entrée standard
Comment réaliser un téléchargement de fichiers volumineux avec Rest Template of Spring
Comment diviser un fichier de message Spring Boot
Comment réaliser le téléchargement de fichiers avec Feign
Comment enregistrer JFR (Java Flight Recorder) et générer un fichier de vidage
Exécutable serveur avec Spring gradle Comment créer JAR et WAR
Gratter et écrire des éléments spécifiques dans un fichier
Comment ajouter un chemin de classe dans Spring Boot
Comment se lier avec un fichier de propriétés dans Spring Boot
[Spring Boot] Comment se référer au fichier de propriétés
Comment compresser un fichier JAVA CSV et le gérer dans un tableau d'octets
[Exemple de code Spring inclus] Comment créer un formulaire et comment obtenir plusieurs enregistrements
Comment créer un formulaire Excel à l'aide d'un fichier modèle avec Spring MVC
J'ai essayé d'implémenter le téléchargement de fichiers avec Spring MVC
Comment passer d'Eclipse Java à un fichier SQL
Comment écrire un test unitaire pour Spring Boot 2
Comment créer un projet Spring Boot dans IntelliJ
[Spring Boot] Comment créer un projet (pour les débutants)
Comment télécharger des fichiers (Servlet, HTML, Apache, Tomcat)
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
Comment convertir un fichier en tableau d'octets en Java
21 Lire et exécuter le script à partir du fichier
[Rails] Comment modifier et personnaliser les vues et les contrôleurs de conception
Comment demander un fichier CSV au format JSON avec jMeter
[Ruby] Comment diviser chaque requête GraphQL en fichiers
Comment utiliser OpenCV 4 sur Android et afficher la vue en direct de la caméra
Comment appeler et utiliser l'API en Java (Spring Boot)
[Ruby] Comment récupérer le contenu du double hachage
Comment développer et enregistrer une application Sota en Java
Comment modifier le contenu du fichier jar sans décompresser
Comment joindre une table sans utiliser DBFlute et SQL
Comment créer et lancer un Dockerfile pour Payara Micro
Comment laisser un commentaire
Téléchargement de fichiers avec Spring Boot
Comment insérer une vidéo
Comment créer une méthode
Comment créer un fichier jar et un fichier war à l'aide de la commande jar
Comment créer un hinadan pour un projet Spring Boot à l'aide de SPRING INITIALIZR
Comment créer un fichier jar sans dépendances dans Maven
Comment définir et utiliser un profil avec une configuration basée sur des annotations dans le framework Spring
[Rails] Comment télécharger des images sur AWS S3 à l'aide de Carrierwave et de fog-aws
Comment faire coexister CsrfRequestDataValueProcessor et RequestDataValueProcessor original sur Spring Boot
Comment ouvrir un fichier de script à partir d'Ubuntu avec du code VS
[Rails] Comment télécharger des images sur AWS S3 à l'aide de refile et refile-s3
[chown] Comment changer le propriétaire d'un fichier ou d'un répertoire
[Swift5] Comment communiquer de ViewController à Model et transmettre une valeur
Comment vérifier le contenu de la chaîne de caractères java de longueur fixe
Comment afficher les caractères saisis dans Spring Boot sur le navigateur et les liens de référence [Introduction à Spring Boot / Pour les débutants]
Comment utiliser Lombok au printemps
Comment utiliser StringBurrer et Arrays.toString.
Comment faire un test unitaire de Spring AOP