[JAVA] [Spring Boot] Tableau / liste de fichiers POST et autres données en même temps [Axios]

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

point final

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*/
}

point important

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

Côté POST

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

Avec la méthode ci-dessus, vous pouvez POSTER un tableau / une liste de fichiers et d'autres données en même temps.

Articles que j'ai utilisés comme référence

Recommended Posts

[Spring Boot] Tableau / liste de fichiers POST et autres données en même temps [Axios]
[Spring Boot] Publiez des fichiers et d'autres données en même temps [Axios]
Méthode de mise en œuvre consistant à lier plusieurs images à un article et à publier en même temps
Spring Boot pour la première fois
Dessinez un graphique à barres et un graphique linéaire en même temps avec MPAndroidChart
[Spring Boot] Comment se référer au fichier de propriétés
Comportement remarqué lors de l'ajout de RadioButton et de la vérification initiale en même temps dans le code
Vérifiez le comportement de getOne, findById et des méthodes de requête avec Spring Boot + Spring Data JPA
Obtenez une liste des autres sessions du même utilisateur lorsque vous utilisez Redis Session avec Spring Boot (série 2). Jetez-le également.
Jusqu'à l'utilisation de Spring Data et JPA Part 2
Jusqu'à l'utilisation de Spring Data et JPA Part 1
[Java] Erreur d'appel de méthode lorsque l'héritage et l'implémentation de l'interface sont effectués en même temps
Comment utiliser la même classe Mapper dans plusieurs sources de données avec Spring Boot + MyBatis