0
我想用$ resource的AngularJS從客戶端上傳文件。
需要將FormData發送到服務器。
我用下面的代碼試圖
MyFile.tpl.html
<input file-model="uploadingfile" type="file"/><br/>
MyDirective.js
angular.module('upload.upload', [
])
.directive('fileModel', ['$parse', function ($parse) {
return {
restrict: 'A',
link: function(scope, element, attrs) {
var model = $parse(attrs.fileModel);
var modelSetter = model.assign;
element.bind('change', function(){
scope.$apply(function(){
modelSetter(scope, element[0].files[0]);
});
});
}
};
}]);
MyController.js
var myservercall = $resource("my/rest/path/:filename", { filename: '@filename'});
var file = $scope.uploadingfile;
var fd = new FormData();
fd.append('upload', file);
myservercall.save({filename: file.name}, here i don't know how to send the form data);
我如何做這個工作?
什麼類型的文件?上傳功能目前是什麼樣的? Angular是一個客戶端MVC框架。你在服務器端使用什麼?這將是代碼的實現方式;你在Angular中幾乎沒有它(最好它只是一個Angular資源)。你有一個REST端點來上傳文件嗎? –
是的,我正在使用REST端點來上傳文件。我的服務器端是EJB – prince