最近,我不得不使用AngularJs编写一个简单的上传器(可重用),同时,将我的API放在单独的地方,最后使用blueimp jQuery File uploader编写了一个,并对其进行了一些定制。我想分享这篇文章会很好,希望能在学习AngularJs的过程中提高自己。(我已经添加了答案)
http://codelikeapoem.com/2013/05/angularjs-tutorial-4-file-upload-using.html(你可以下载完整的代码)
应用程序。咖啡
@angTut = angular.module("angTut", ['LocalStorageModule', 'ngResource', 'uploaderComponent']);
@angTut.constant('uploadServiceUrl', 'http://192.168.0.2/api/index.php')
todos_uploader_controller.coffee
"use strict"
@angTut.controller('TodosUploadController', (
$scope, uploadService
) ->
$scope.uploadLayer = (e, data, process) ->
$scope.uploadReturn = uploadService.process(e, data, process)
$scope.uploadReturn = uploadService.initialize()
)
uploader.directive
https://gist.github.com/sk8terboi87/5652187upload.html
<div class="control-group">
<input id="testUpload" type="file" fileupload name="files[]" uploadurl="uploadReturn.uploadurl" done="uploadLayer(e, data, 'done')" fail="uploadLayer(e, data, 'fail')" progress="uploadLayer(e, data, 'progress')">
<div class="well" ng-show="uploadReturn.status">
{{uploadReturn.message}}
<div ng-show="!uploadReturn.error">
<p class="label label-info">File: {{uploadReturn.successData.name}}</p>
<p><a href="{{uploadReturn.successData.fullUrl}}" target="_blank">View file</a></p>
</div>
</div>
</div>