在Angular中成功POST后,HttpErrorResponse 200

时间:2017-11-19 15:04:29

标签: angular upload

我通过FormData将一个文件从Angular 5.xx上传到Jersey 1.xx。

数据在我的服务器应用程序目录中成功接收并保存,但浏览器在图片中说明了这一行(Chrome和Firefox)。

当我通过HTML上传时,就像这样:

  Choose file to upload<br>
    <form action="http://localhost:8181/BackendMaven" method="post" enctype="multipart/form-data">
        <input name="input" id="filename" type="file" /><br><br>
        <button name="submit" type="submit">Upload</button>
    </form>

它不会出现。

这是角度FromData代码:

@ViewChild('fileInput') fileInput; 
submitFile(): void{ 
    console.log("submitFIle called!!!");
    let fi = this.fileInput.nativeElement;
     let fileToUpload = fi.files[0];
     let formData = new FormData();//empty formdata
     formData.append("input", fileToUpload);
     console.log(formData.get("input"));
     this.http.post(this.URI_UPLOAD,formData).subscribe();}

服务器端(我使用tomcat)

public Response uploadFile(@FormDataParam("input") InputStream uploadedInputStream, @FormDataParam("input") FormDataContentDisposition fileDetail) {
  ...
        return Response.status(200).entity("Successfully uploaded to location: " + FileFactory.getFilePath(uploadedFileLocation)).build();

    }

} 

enter image description here

2 个答案:

答案 0 :(得分:4)

尝试实际发送JSON响应,或告诉角度来预期不同的东西。如果您使用的是HttpClient,则默认情况下会使用JSON。

这样的事情:

this.http.post(url, body, { responseType: 'text' }).subscribe();

答案 1 :(得分:0)

请求标头必须包含:

for k in range(3):
    for v in range(k+1):
        list1.append(v)
print(list1)