0
我想先說說我已經搜索了很高和低的工作,並在這裏工作了整整一天,8小時,然後才訴諸問題。在大多數例子中,我看到沒有人看到端點api的樣子,所以我可以看到api的期望,所以我會同時顯示前端和後端。Angular 2將文件上傳到Java Api
myJavaRootResource.java
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
@Path("/import/{id}")
public Response import(@FormDataParam("file") InputStream fileInputStream, @Context ServletContext application,
@Context HttpServletRequest request, @Context UriInfo info, @PathParam("id") Integer id) {
System.out.println("*** MADE it ***");
...blah blah...
}
現在在我的角2的代碼,我不知道如何發送它,我已經試過很多東西太多在這個問題覆蓋,所以我會後我最親近的嘗試。我有一個調用服務,使得這裏的呼叫的組件是服務功能
my.service.ts
importIt(id: number, myFile: File) {
const dataUrl = 'the/path/import/' + id;
const formData = new FormData();
formData.append('file', myFile);
const headers = new Headers({'Content-Type': 'multipart/form-data'});
let options = new RequestOptions({
method: RequestMethod.Post,
headers: headers,
});
return this.http.post(dataUrl, formData, options)
.map(res => res)
.catch(this.handleError.bind(this));
}
現在,當我嘗試這個,我得到迴應400 - 錯誤的請求。有沒有人看到我可能會失蹤或有一個想法什麼修復。
我已經看到了這些鏈接,並沒有能夠把它一起
可能是你已經嘗試過這一點,但無論如何,我會建議您單獨測試後端代碼通過一些其他客戶端(例如郵差),並確保後臺運行良好。然後,如果它無法嘗試交叉由前端執行的http請求,並將它們與之前使用的有效http請求進行比較。交集的東西也可以通過郵差完成。 –
我認爲你的意思是攔截,而不是交集。 – AndreyS
@AndreyS你是對的,謝謝。但我不能再改變評論 –