2
使用ng-file-upload將基本單個文件上傳到我的服務器。發送到服務器時文件對象爲空ng-file-upload
我可以選擇文件,查看我選擇的文件名,並將文件對象($scope.myFiles[0]
)傳遞給我的角度服務。但是,當使用文件填充我的HTTP數據屬性時,在開發工具中檢查HTTP請求時,文件是空對象。
控制器:
UploadService.upload({ data: { file: $scope.myFiles[0], 'category': $scope.selectedCategory}})
.success(function (data) {
////
////
UploadService:
app.factory('UploadService', function ($http, $q) {
return {
upload: function (something) {
console.log(something);
return $http({
method: 'POST',
url: '/upload',
data: something
});
}
}
});
利用上述,檢驗在開發工具的HTTP請求,我看到:
Request Payload:
{data: {file: {}, category: "Friend Card"}}
data:
{file: {}, category: "Friend Card"}
category:"Friend Card"
file:{}
綜觀控制檯的輸出。日誌(東西),我可以看到文件通過:
{
$hashKey:"object:107"
lastModified:1465716430000
lastModifiedDate:Sun Jun 12 2016 08:27:10 GMT+0100 (BST)
name:"Postcard.JPG"
size:522622
type:"image/jpeg"
webkitRelativePath:""
}
是否更改功能具有通過報頭類型:
return $http({
method: 'POST',
url: '/upload',
headers: {
'Content-Type': something.data.file.type
},
data: {
"file": something.data.file,
"category": something.data.category
}
});
我可以在開發工具看到:
Accept:application/json, text/plain, */*
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:48
Content-Type:image/jpeg
Cookie:_ga=GA1.1.2023678669.1463291637; _gat=1
Host:localhost:8585
Origin:http://localhost:8585
Referer:http://localhost:8585/pages/
具體地說:內容類型:image/JPEG所以它看起來是正確的,但文件仍然是空的對象。
使用'Upload.upload(網址:{url:...,文件:文件})'上傳文件到服務器而不是$ http – danial
@danial - 謝謝,但我不明白..而不是http?你有一個例子嗎? –
這裏有很多關於文檔的例子:Upload.upload({method:'POST', url:'/ upload', data:something }); – danial