Я пытаюсь отправить несколько файлов на свой парусный сервер с помощью ng-file-upload. Я использую пример веб-страницы ng-file-upload, и он не работает.
Проблема:
Я получаю на сервере пустой массив.
Факты:
Я использую Chrome, и он поддерживает загрузку нескольких файлов html5.
Я протестировал сервер с помощью почтальона, и он сработал, при этом проблема с клиентом.
Я могу console.log файлы на клиенте.
Вот код js:
$scope.onFileSelect = function (files) {
if (!($scope.updateAssetForm.OSGImages)) {
console.log($scope.updateAsset.OSGImages.$valid);
console.log($scope.updateAssetForm.OSGImages);
return;
}
console.log($scope.updateAssetForm.OSGImages);
var test = [];
for (var i = 0; i < $scope.updateAssetForm.OSGImages.length; i++) {
test.push($scope.updateAssetForm.OSGImages[i])
}
console.log(test);
Upload.upload({
url: '/api/updateAsset',
data: {
osgFile: test,
'assetId': 5,
'loadValueType' : 4,
}
})
},
Вот HTML-код:
<div class = "control-group form-group col-md-12"
ng-class = "{'has-error':updateAsset.OSGImages.$invalid && updateAsset.OSGImages.$dirty}" ng-if = "showUploadFile(4)">
<button ngf-select="onFileSelect(updateAssetForm.OSGImages)" ng-model="updateAssetForm.OSGImages" ngf-multiple="true">
OSG Images (optional) (max 3 MB)
</div>
<p ng-repeat="image in updateAssetForm.OSGImages">
{{image.name}}
</p>
<span class = "help-block has-error" ng-if="updateAsset.OSGImages.$dirty">
</span>
</div>
Журнал вкладки "Сеть"
Принять: application / json, text / plain, / Content-Type: multipart / form-data; border = ---- WebKitFormBoundaryhfBw31xYfdWDtTlU Источник: http://localhost:1337 Ссылка: http://localhost:1337/editproject Пользовательский агент: Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 48.0.2564.116 Safari / 537.36
------ WebKitFormBoundaryhfBw31xYfdWDtTlU Content-Disposition: form-data; name = "osgFile [0]"; filename = "p51d-jw-03.png" Content-Type: image / png
------ WebKitFormBoundaryhfBw31xYfdWDtTlU Content-Disposition: form-data; name = "osgFile [1]"; filename = "p51d-jw-02.png" Content-Type: image / png
------ WebKitFormBoundaryhfBw31xYfdWDtTlU Content-Disposition: form-data; name = "osgFile [2]"; filename = "p51d-jw-01.png" Content-Type: image / png
------ WebKitFormBoundaryhfBw31xYfdWDtTlU Content-Disposition: form-data; name = "assetId"
5 ------ WebKitFormBoundaryhfBw31xYfdWDtTlU Content-Disposition: form-data; name = "loadValueType"
4 ------ WebKitFormBoundaryhfBw31xYfdWDtTlU--
Что я делаю не так?
$files
, когда вы вызываете свою функцию. Вы пробовали передавать$files
вместоupdateAssetForm.OSGImages
вonFileSelect()
? - person jcc   schedule 03.03.2016