从 Angular 上的路径获取文件或如何以编程方式 Post 多部分文件请求
Get File from path on Angular or how to Programatically Post MultiPart File Request
因为我正在动态上传图片,所以我现在只想发送一张到我的 POST url。
从 PAW/Postman 开始,当我将文件作为多部分发送时,我的端点工作:
--__X_PAW_BOUNDARY__
Content-Disposition: form-data; name="file"; filename="blouse1.png"
Content-Type: image/png
在 Angular 我试试这个:
const file = fs.readFileSync(imgPath, 'utf8');
const formData = new FormData();
formData.append("file", file);
// interceptor adds content type: multipart/form-data
return this.http.post<any>(url, formData)
.pipe(map((result) => result));
}
后台没有收到文件。
CURL 上的 Angular 请求包括:
--data-binary $'------WebKitFormBoundarysAgZBIaWrsIKE5Z4\r\nContent-Disposition: form-data; name="file"\r\n\r\n[object Object]\r\n------WebKitFormBoundarysAgZBIaWrsIKE5Z4--\r\n' --compressed --insecure
而 PAW Curl 只是 :
-H 'Content-Type: multipart/form-data; charset=utf-8; boundary=__X_PAW_BOUNDARY__' \
-F "file="
我正在尝试通过阅读 fs.readFileSync 找到获取文件而不是内容的方法。这应该像 fs.getFile(path) 一样简单,以模仿使用文件上传表单时发生的情况。有什么想法吗?
此读取和文件创建工作正常,但听起来像是一种解决方法。
const fileContents = fs.readFileSync(imgPath);
const file = new File([fileContents], img);
const formData: any = new FormData();
formData.append("file", file);
因为我正在动态上传图片,所以我现在只想发送一张到我的 POST url。 从 PAW/Postman 开始,当我将文件作为多部分发送时,我的端点工作:
--__X_PAW_BOUNDARY__
Content-Disposition: form-data; name="file"; filename="blouse1.png"
Content-Type: image/png
在 Angular 我试试这个:
const file = fs.readFileSync(imgPath, 'utf8');
const formData = new FormData();
formData.append("file", file);
// interceptor adds content type: multipart/form-data
return this.http.post<any>(url, formData)
.pipe(map((result) => result));
}
后台没有收到文件。
CURL 上的 Angular 请求包括:
--data-binary $'------WebKitFormBoundarysAgZBIaWrsIKE5Z4\r\nContent-Disposition: form-data; name="file"\r\n\r\n[object Object]\r\n------WebKitFormBoundarysAgZBIaWrsIKE5Z4--\r\n' --compressed --insecure
而 PAW Curl 只是 :
-H 'Content-Type: multipart/form-data; charset=utf-8; boundary=__X_PAW_BOUNDARY__' \
-F "file="
我正在尝试通过阅读 fs.readFileSync 找到获取文件而不是内容的方法。这应该像 fs.getFile(path) 一样简单,以模仿使用文件上传表单时发生的情况。有什么想法吗?
此读取和文件创建工作正常,但听起来像是一种解决方法。
const fileContents = fs.readFileSync(imgPath);
const file = new File([fileContents], img);
const formData: any = new FormData();
formData.append("file", file);