2016-07-07 65 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