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