1
我已經定義了一個角資源是這樣的:Angular:如何獲取資源操作的url?
app.factory('Files', function($resource) {
return $resource('/api/accounts/:account_id/sites/:site_id/files/:file_id');
});
要創建一個新的文件,我會做:
var file = new Files($scope.file);
file.$save($stateParams);
如何獲得通過的文件中使用的URL $保存(POST/API/accounts /:account_id/sites /:site_id/files)在我的控制器中,所有的$ stateParams填充?
編輯:
我想使用ng-file-upload上傳文件。該模塊需要一個url傳遞給上傳功能:
$scope.upload = function (file) {
var url = 'api/accounts/' + $stateParams.account_id + '/sites/' + $stateParams.site_id + '/files';
Upload.upload({
url: url,
data: {file: file}
}).then(function (resp) {
console.log('Success ' + resp.config.data.file.name + 'uploaded. Response: ' + resp.data);
getFiles();
}, function (resp) {
console.log('Error status: ' + resp.status);
}, function (evt) {
var progressPercentage = parseInt(100.0 * evt.loaded/evt.total);
console.log('progress: ' + progressPercentage + '% ' + evt.config.data.file.name);
});
};
我想避免手動構建url變量。看看角度$資源的源代碼,我不認爲這是可能的。是嗎?
我不習慣ng文件上傳,但從我收集你應該提供額外的數據''數據'對象,它可以容納除'file'one之外的其他字段。我想這會回答你的要求來構造一個POST請求來保存一個文件和其他數據。你應該檢查[他們的上傳服務文檔](https://github.com/danialfarid/ng-file-upload/blob/master/README.md#upload-service)。 – Aaron