角度图像上传到PHP服务器tmp_name丢失

时间:2019-07-11 22:50:40

标签: php angularjs

我在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是用于从中复制映像的临时存储服务器端的位置。我可以简单地手动将此字段添加到我的有效载荷中,还是想念一个更大的点并驶向一条盲巷?

1 个答案:

答案 0 :(得分:0)

简单的解决方案是使用formData对象。因此,就我而言,我做了以下事情:

var dataObj = new FormData();

     angular.forEach($scope.listing, function(value, key) {

          dataObj.append(key, object); 

     } 
}

这将我的多个图像上传到了dataobj上,该obj保留了我所需的tmp_name数据。