npm.io
1.0.19 • Published 9 years ago

idsp-web-seed2-uploader

Licence
ISC
Version
1.0.19
Deps
4
Vulns
13
Weekly
0

idsp-web-seed2-uploader

分页组件

安装方法

1. 下载程序包

npm i idsp-web-seed2-uploader --save

2. 配置文件依赖

找到 index.html 文件的systemjs配置,加入 idsp-web-seed2-uploader 配置

SystemJS.config({
    transpiler: 'ts',
    typescriptOptions: {
        // ...
    },
    packages: {
        //...
       
        // 组件设置 
        webuploader: {main: 'dist/webuploader.js', format: 'global'},
        'idsp-web-seed2-uploader': {main: 'src/lib/uploader.ts'},
    
        "src": {
            //...
        }
    },
    meta: {
        '*.less': {loader: 'less'},
        '*.css': {loader: 'css'},
        // ...
    },
    
    map: {
        // ...
        'idsp-web-seed2-uploader': 'node_modules/idsp-web-seed2-uploader',
    }
});
3. 在项目src/common/directives/directives.ts中依赖组件
//...
import uploader from "idsp-web-seed2-uploader";

export const mod = module('directives', [...others, uploader]);
4. 接下来就可以使用上传组件了
<uploader
 files="Ctrl.files"
 option="Ctrl.uploadOption"
 [file-queued='Ctrl.fn($file)']
 [file-dequeued='Ctrl.fn($file)']
 [upload-start='Ctrl.fn($file)']
 [upload-before-send='Ctrl.fn($chuck, $data, $headers)']
 [upload-progress='Ctrl.fn($file, $percentage)']
 [upload-error='Ctrl.fn($file, $error)']
 [upload-success='Ctrl.fn($file, $response)']
 [error='Ctrl.fn($type)']
 >
</uploader>
@Route({
  ...
  controllerAs : 'Ctrl'
})
@Controller
exports class PageCtrl{
  public files:UploadFile[];
  public uploaderOption:UploaderOption = {
    dnd : '#dnd-wrapper',
    auto:true,
    server : 'uploader.shtml'
  };
  
  // 上传事件处理
  fn(...){
     ...
  }
}
指令属性参数
参数 类型 描述
files UploadFile[] 文件上传队列
option UploaderOption 上传组件的配置
file-queued (可选) 事件 当一个文件加入上传队列时触发 , `$file` 表示当前加入队列的文件
file-dequeued (可选) 事件 当一个文件移出上传队列时触发
upload-start (可选) 事件 当一个文件开始上传时触发
upload-before-send (可选) 事件 当一个文件开始上传之前触发
upload-progress (可选) 事件 当文件的上传进度发生变化时触发
upload-error (可选) 事件 当一个文件上传发生错误时触发
upload-success (可选) 事件 当一个文件上传成功时触发,`$response` 是服务器的返回数据
error (可选) 事件 当发生错误时触发
UploadFile 属性
  • file.name :表示文件名称(String)
  • file.size :表示文件大小(Number)
  • file.sizeUnit :计算好的文件大小(String)如:12MB
  • file.percentage :上传进度(Number),从0到100
  • file.response :服务器返回数据,默认为null,当状态为success时可使用
  • file.state :文件状态(String),'ready'|'uploading'| 'success'
UploaderOption 参数
参数 类型 描述
server String 文件上传处理服务器
method (可选) String 上传请求类型 默认 :'post'
multiple (可选) Boolean 是否允许多选文件
dnd (可选) String (css selector) 开启拖拽添加文件功能
auto (可选) Boolean 是否开启自动上传文件功能
formData (可选) Object 上传文件时附带参数
name (可选) String 服务器用来获取文件的参数名,默认 `file[]`
accept (可选) Object 指定可选择的文件类型
accept.title String 描述文字
accept.extensions String 允许文件的后缀名,多个用逗号分隔如:`jpg,exe,gif,pdf`
accept.mimeTypes String 指定文件的miniType,多个使用逗号分隔如:`image/*,text/*`
fileSingleSizeLimit (可选) Number 限制单个文件的大小