0
我試圖發送多個文件到我的rest API。 所以在我的HTML,我用PrimeNG,有:多部分數據發送對象類型文件
<p-fileUpload #fileInput name="myfiles[]" customUpload="true" (uploadHandler)="myUploader($event)"
multiple="multiple" accept="*" maxFileSize="2000000"
showUploadButton="false" cancelLabel="Annuler" chooseLabel="Choisir">
</p-fileUpload>
在我的角度TS文件我打電話給我的休息API這樣的:
saveData(data, uploadedFiles): Observable<any> {
let formData = new FormData();
formData.append("uploadedFiles", uploadedFiles);
formData.append("data",JSON.stringify(data));
return this.http.post(apiUrl + "/" , formData)
.catch(this.handleError);
}
所以,如果我登錄uploadedFiles
我得到:
如果我開發File
我:
所以我可以看到我已經正確地獲得了我上傳的文件。
我想這就是爲什麼在我休息API,當我試圖讓文件名,他們null
這裏是我實現我的休息API:
@POST
@Path("/")
@Consumes({MediaType.MULTIPART_FORM_DATA})
public Response createClink(@FormDataParam("data") MyData myData,
@FormDataParam("uploadedFiles") List<FormDataBodyPart> bodyParts,
@FormDataParam("uploadedFiles") FormDataContentDisposition fileDispositions) {
StringBuffer fileDetails = new StringBuffer("");
/* Save multiple files */
for (int i = 0; i < bodyParts.size(); i++) {
BodyPartEntity bodyPartEntity = (BodyPartEntity) bodyParts.get(i).getEntity();
String fileName = bodyParts.get(i).getContentDisposition().getFileName();
System.err.println("fileName");
System.err.println(fileName);
//saveFile(bodyPartEntity.getInputStream(), fileName);
}
}
那麼,爲什麼我的文件對象未發送正確你呢?我怎樣才能做到這一點 ? 還有其他錯誤嗎?