2017-08-07 1 views
0

Ich habe ein Problem mit Multipart-Datei. Ich bin das Hochladen einer Datei vom Frontend (reagieren) und übergeben es an mein Backend wie folgt aus:Multipart ist null beim Hochladen von Formulardaten auf den Tomcat-Remoteserver

export function uploadExcelFile(files) { 
    const dataToTransfer = new FormData(); 
    dataToTransfer.append('uploadedFile', files[0]); 

    return (dispatch) => { 
    const OPTIONS_POST_EXCEL = { 
     ...OPTIONS_POST, 
     headers: { 
     }, 
     body: dataToTransfer, 
    }; 

    return fetch('/api/excelstuff/upload', OPTIONS_POST_EXCEL) 
     .then((res) => { 
     // do stuff to dispatch 
     }) 
     .catch((err) => { 
     throw err; 
     }); 
    }; 
} 

Das Backend implementiert wird mit Spring-Boot, wenn es die Formulardaten empfängt, sieht der Code wie folgt aus:

@RequestMapping(value="/upload", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE) 
public ResponseEntity<List<MyList>> uploadExcelFile(@RequestBody MultipartFile uploadedFile) { 
      log.warn("Is multipartfile empty? {}", uploadedFile); 
      return excelImporterService.uploadExcelFile(uploadedFile); 
     } 
    } 

Wenn ich mein Projekt zu CloudFoundry verschiebe, ist der RequestBody null. Aber wenn das Projekt lokal ausgeführt wird, funktioniert es! Ich verwende die Anwendung auf TomCat Server basierend.

Ich habe versucht, einschließlich kompilieren ('commons-fileupload: commons-fileupload: 1.3.3') auf meinem Grapple-Build. und unter anderem folgende:

@Bean 
public MultipartResolver multipartResolver() { 
    CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(); 
    commonsMultipartResolver.setMaxUploadSize(-1); 

    return commonsMultipartResolver; 
} 

ich eingeschlossen habe dies auf meiner Konfiguration (yml Datei)

spring: 
application: 
    name: somename 
http: 
    multipart: 
    enabled: false 

Ich hoffe, es ist ein häufiges Problem und jemand hat es schon gelöst, bitte helfen!

Antwort

0

Versuchen Sie, multipart/form-data als Inhaltstyp zu Ihrer Anfrage hinzuzufügen.

Viel Glück!

+0

ausprobiert, es funktioniert nicht. Hinzufügen es macht es scheitern auf localhost :( –

Verwandte Themen