Pour l'article que j'ai écrit plus tôt, cette fois, je vais résumer comment POST plusieurs fichiers sous forme de liste.
[Spring Boot] Publiez des fichiers et d'autres données en même temps [Axios] \ -Qiita
Le point final ressemble à ceci:
Dans cet exemple, il est reçu sous forme de tableau, mais il peut également être reçu sous forme de liste sous forme de «List
@PostMapping("/api/test")
public void create(
@RequestParam("intValue") Integer intValue,
@RequestPart("uploadFiles") MultipartFile[] multipartFile,
@RequestPart("form") @Valid SampleObject sampleObject,
BindingResult errorResult
) {
/*Traitement interne*/
}
Les points de terminaison SpringBoot ont une seule limite de capacité de fichier / capacité totale de demande, vous devrez donc peut-être assouplir la limite de taille si nécessaire. Cette méthode est résumée ci-dessous.
[Spring Boot] Modifiez la taille maximale du fichier en plusieurs parties à télécharger \ -Qiita
Le code suivant prend la forme «d'appeler la fonction POST en sélectionnant plusieurs fichiers-> ouvrir ou annuler».
<!--La publication est appelée en même temps que la sélection, plusieurs peuvent être sélectionnés car plusieurs sont spécifiés-->
<input type="file"
@change="postFilesWithForm" multiple/>
La fonction de POST est la suivante.
postFilesWithForm(ev) {
const formData = new FormData()
//Exemple de données de formulaire
const form = {
formData: 'hogehoge'
}
//Ajouter un formulaire blobisé
formData.append('form', new Blob(
[JSON.stringify(form)], { type: 'application/json' }
))
//Ajouter le fichier
Array.from(ev.target.files).forEach(file => formData.append(`uploadFiles`, file))
/*Traitement POST à l'aide de formData*/
}
J'ai élaboré les trois points suivants.
--Spécifiez type: 'application / json'
pour les données JSON
--ʻAppend` est traité comme un tableau s'il est répété pour la même propriété, alors entrez-le tel quel
FileArray
ne peut pas forEach
, donc ʻArray.from (ev.target.files)`)Avec la méthode ci-dessus, vous pouvez POSTER un tableau / une liste de fichiers et d'autres données en même temps.
Recommended Posts