我在Web应用程序的前端使用Angular 1.x,并使用由PHP框架提供支持的后端API。我想提供一个拖放图像上传,UI可以正常工作,并且能够将提交的数据发布到后端进行保存。
但是,我正在使用第3方插件来处理后端上的图像,并且它抱怨tmp_name字段为空。我的有效负载具有以下结构:
lastModified: 1490387993409
lastModifiedDate: Fri Mar 24 2017 20:39:53 GMT+0000 (Greenwich Mean Time) {}
name: "20170324_185515.jpg"
size: 155232
type: "image/jpeg"
webkitRelativePath: ""
就像我在前端使用普通的PHP一样,有效负载是:
'tmp_name' => 'tmp\php38BB.tmp',
'error' => (int) 0,
'name' => '20190621_083531_HDR.jpg',
'type' => 'image/jpeg',
'size' => (int) 3871475
我知道tmp_name是用于从中复制映像的临时存储服务器端的位置。我可以简单地手动将此字段添加到我的有效载荷中,还是想念一个更大的点并驶向一条盲巷?
答案 0 :(得分:0)
简单的解决方案是使用formData对象。因此,就我而言,我做了以下事情:
var dataObj = new FormData();
angular.forEach($scope.listing, function(value, key) {
dataObj.append(key, object);
}
}
这将我的多个图像上传到了dataobj上,该obj保留了我所需的tmp_name数据。