Wie übergebe ich mehrere Dateien und andere Parameter mit jQuery AJAX an ein Spring Boot Backend?

Antwort

Um mehrere Dateien und andere Parameter mit jQuery AJAX an ein Spring Boot Backend zu übergeben, kannst du das `FormData`-Objekt verwenden. Hier ist ein Beispiel, wie du das machen kannst: 1. **HTML-Formular**: ```html <form id="uploadForm" enctype="multipart/form-data"> <input type="file" id="file1" name="file1" multiple> <input type="file" id="file2" name="file2" multiple> <input type="text" id="param1" name="param1" value="value1"> <input type="text" id="param2" name="param2" value="value2"> <button type="button" onclick="uploadFiles()">Upload</button> </form> ``` 2. **jQuery AJAX**: ```javascript function uploadFiles() { var formData = new FormData(); var files1 = $('#file1')[0].files; var files2 = $('#file2')[0].files; // Append files from file1 input for (var i = 0; i < files1.length; i++) { formData.append('files1', files1[i]); } // Append files from file2 input for (var i = 0; i < files2.length; i++) { formData.append('files2', files2[i]); } // Append other parameters formData.append('param1', $('#param1').val()); formData.append('param2', $('#param2').val()); $.ajax({ url: '/upload', type: 'POST', data: formData, processData: false, contentType: false, success: function(response) { console.log('Files uploaded successfully'); }, error: function(jqXHR, textStatus, errorThrown) { console.log('Error uploading files: ' + textStatus); } }); } ``` 3. **Spring Boot Controller**: ```java import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.http.ResponseEntity; @RestController public class FileUploadController { @PostMapping("/upload") public ResponseEntity<String> handleFileUpload( @RequestParam("files1") MultipartFile[] files1, @RequestParam("files2") MultipartFile[] files2, @RequestParam("param1") String param1, @RequestParam("param2") String param2) { // Process files and parameters for (MultipartFile file : files1) { // Handle file1 } for (MultipartFile file : files2) { // Handle file2 } // Handle other parameters System.out.println("Param1: " + param1); System.out.println("Param2: " + param2); return ResponseEntity.ok("Files uploaded successfully"); } } ``` In diesem Beispiel wird ein HTML-Formular verwendet, um Dateien und andere Parameter zu erfassen. Mit jQuery wird ein `FormData`-Objekt erstellt, das die Dateien und Parameter enthält. Dieses `FormData`-Objekt wird dann per AJAX an das Spring Boot Backend gesendet, wo die Dateien und Parameter verarbeitet werden.

Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Kann man mit VB.NET 2003 das Eigenschaften-Fenster von Dateien und Ordnern anzeigen?

Mit VB.NET 2003 gibt es keine direkte, eingebaute Methode, um das Eigenschaften-Fenster (also das Windows-Dialogfeld „Eigenschaften“ einer Datei oder eines Ordners) anzuzeigen. Allerdings... [mehr]

Kann man im VB.NET 2003 TreeView Dateien und Ordner auf gleicher Ebene anzeigen, wobei Dateien oberhalb der Ordner gelistet werden?

Im Standardverhalten des TreeView-Steuerelements in VB.NET 2003 werden die Knoten (Nodes) in der Reihenfolge angezeigt, in der sie hinzugefügt werden, es sei denn, du sortierst sie explizit. Die... [mehr]