2016-07-07 72 views
1

我使用AngularJs将一些文件发送到Laravel服务器。到服务器的调用是:Laravel 5 - 读取以对象数组形式出现的文件

$http({ 
    method: 'POST', 
    url: '/api/go/upload', 
    data: { 
     uploaded_file: $scope.files 
    }, 
    headers: { 
     'Content-Type': 'multipart/form-data' 
    }, 
    transformRequest: function (data, headersGetter) { 
     var formData = new FormData(); 
     angular.forEach(data, function (value, key) { 
      formData.append(key, value); 
     }); 

     var headers = headersGetter(); 
     delete headers['Content-Type']; 

     return formData; 
    } 
}).success(); 

从客户端调试文件给出File对象的数组作为这个截图:

enter image description here

...这是所有罚款。但是,由于种种原因,API服务器(Laravel 5)上,我似乎无法处理这些文件:

$files = $request->file('uploaded_file'); 

echo "<pre>"; 
print_r($files); // Empty 
echo "</pre>"; 
die; 

如何处理从AngularJs发送到Laravel多个文件?

回答

1

追加“uploaded_file”到FORMDATA文件密钥:

formData.append('uploaded_file', formData.file); 
+0

这不能解决问题 - 请你解释一下为什么这个答案? – nogias

+0

你没有给出被捕获文件的标识符。把它看作表单域中的名称属性。 – Frisbetarian