Http发布文件数据

时间:2018-09-22 08:02:32

标签: html angular typescript http input

我的客户端上有两个<input>标签来选择文件。客户端选择文件(24位BMP 640 * 480)后,我必须创建一个http.post,以便可以保存每个文件的imageData并在需要时创建一个http.get。我尝试发布ImageData对象或只是发布Uint8ClampedArray,但出现一些错误。现在,我尝试将其转换为base64并发送给它,但是我仍然什么也没得到。

这是我的http.post:

public submitInfo(): void {
  this.http.post("http://localhost:3000/sologame", { "name": this.game.gameName, "image1": this.game.picture }, HTTP_OPTIONS).pipe(
    catchError(this.handleError("submitInfo"))).subscribe();
}

这是我现在尝试发送base64字符串时遇到的错误:enter image description here

如何发送图像数据?

1 个答案:

答案 0 :(得分:0)

有两种方法可以做到:

  1. 发送二进制数据

onUpload(selectedFile: File) {
    this.http.post('api/file-upload', selectedFile).subscribe(...);
}
  1. 发送为FormData

onUpload(selectedFile: File) {
    const uploadData = new FormData();
    uploadData.append('file', selectedFile, selectedFile.name);
    this.http.post('api/file-upload', uploadData).subscribe(...);
}