0
私は残りのAPIに複数のファイルを送信しようとしています。 だから私はPrimeNGを使用し、私のhtmlで、そこにある:マルチパートデータ送信オブジェクトタイプファイル
<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
を開発する場合、私は持っている:
アップロードされたファイルが正しく取得されていることがわかります。
しかし、私はPOSTリクエストを送信するとき、私は私のデータを送ることが確認できている:私はそれは私がファイル名を取得しようとすると、彼らはnull
![enter image description here](https://i.stack.imgur.com/430pr.png)
私のファイルオブジェクトが正しく送信されませんだから、なぜ
@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);
}
}
:ここ
は、私は私の残りのAPIを実装する方法ですそう?これどうやってするの ? 別の間違いはありますか?