我有成功将图像发送到服务器的代码:
.ts
onFileSelected(event){
let files = event.target.files;
const fd = new FormData();
for (let i = 0; i < files.length; i++) {
let file = files[i];
fd.append("media",files[i],files[i].name);
}
this.httpClient.post("backend/upload.php",fd, {reportProgress:true,observe:"events"}).subscribe((event)=>{
console.log(event);
});
}
这是在“网络”标签中检查的输出,可以确认这一点。
------WebKitFormBoundarymwsBJvYMYfzWyk4X
Content-Disposition: form-data; name="media"; filename="DSC_0905_2.png"
Content-Type: image/png
------WebKitFormBoundarymwsBJvYMYfzWyk4X
Content-Disposition: form-data; name="media"; filename="DSC_0905.JPG"
Content-Type: image/jpeg
------WebKitFormBoundarymwsBJvYMYfzWyk4X--
问题在于,所有图像都具有相同的名称,用于标识它们,因此我只能访问上传的第一个图像。
例如
.php ...
$_FILES["media"] // do something with it
...
仅访问一张图像。
您建议我做些什么,以便可以访问所有这些?可以发送的图像数量很灵活。