最近项目中需要用到文件上传,使用了angular-file-upload插件完成
首先来介绍下这个插件的一些属性(参考官方文档)
FileUploader
属性
url {String}: 上传文件的服务器路径
alias {String}: 包含文件的名称,默认是file
queue {Array}: 上传队列
progress {Number}: 上传队列的进度,只读
headers {Object}: 上传的头文件信息, 浏览器需支持HTML5
formData {Array}: 与文件一起发送的表单数据
filters {Array}: 在文件加入上传队列之前应用过滤器.,如果过滤器返回true则文件加入队列中
autoUpload {Boolean}: 文件加入队列之后自动上传,默认是false
method {String}: 请求方式,默认是POST,浏览器需支持HTML5
removeAfterUpload {Boolean}: 文件上传成功之后从队列移除,默认是false
isHTML5 {Boolean}: 如果浏览器支持HTML5上传则返回true,只读
isUploading {Boolean}: 文件正在上传中返回true,只读
queueLimit {Number} : 最大上传文件数量(预定义)
withCredentials {Boolean} : 使用CORS,默认是false, 浏览器需支持HTML5
方法
addToQueue function(files[, options[, filters]]) {: Add items to the queue, where files is a {FileList|File|HTMLInputElement}, options is an {Object} andfilters is a {String}. 添加项到上传队列中,files 是 {FileList|File|HTMLInputElement}, options 是 {Object} 以及 filters 是 {String}
removeFromQueue function(value) {: Remove an item from the queue, wherevalue is {FileItem} or index of item. 从上传队列移除项,value 可以是 {FileItem} 或者项的序号
clearQueue function() {: Removes all elements from the queue. 移除上传队列所有的元素
uploadItem function(value) {: Uploads an item, where value is {FileItem} or index of item. 上传项, value 可以是 {FileItem} 或者项的序号
cancelItem function(value) {: Cancels uploading of item, where value is{FileItem} or index of item. 取消上传的项
uploadAll function() {: Upload all pending items on the queue. 将上传队列中所有的项进行上传
cancelAll function() {: Cancels all current uploads. 取消所有当前上传
destroy function() {: Destroys a uploader.
isFile function(value) {return {Boolean};}: Returns true if value is {File}.
isFileLikeObject function(value) {return {Boolean};}: Returns true if value is{FileLikeObject}.
getIndexOfItem function({FileItem}) {return {Number};}: Returns the index of the{FileItem} queue element. 返回项在上传队列中的序号
getReadyItems function() {return {Array.};}: Return items are ready to upload. 返回准备上传的项
getNotUploadedItems function() {return {Array.};}: Return an array of all pending items on the queue 返回上传队列中未上传的项
回调函数
onAfterAddingFile function(item) {: 添加文件到上传队列后
onWhenAddingFileFailed function(item, filter, options) {: 添加文件到上传队列失败后
onAfterAddingAll function(addedItems) {: 添加所选的所有文件到上传队列后
onBeforeUploadItem function(item) {: 文件上传之前
onProgressItem function(item, progress) {: 文件上传中
onSuccessItem function(item, response, status, headers) {: 文件上传成功后
onErrorItem function(item, response, status, headers) {: 文件上传失败后
onCancelItem function(item, response, status, headers) { - 文件上传取消后
onCompleteItem function(item, response, status, headers) {: 文件上传完成后
onProgressAll function(progress) {: 上传队列的所有文件上传中
onCompleteAll function() {: 上传队列的所有文件上传完成后
使用
当然首先需要加入插件的js
bower
bower install angular-file-upload
在页面导入js
加入angularFileUpload
var myapp = angular.module('add',['angularFileUpload'])
html
我这里是上传的图片所以代码如下:
1
2
3 产品名称
4
5
6
7 产品型号
8
9
10
11 产品图片
12
13
14