JS 通用异步上传插件

简爱代码>JavaScript2017-4-10 23:1391231

jaUpload

文件异步上传后路径回填表单服务端可以是使用自己熟悉的语言写的客户端 或 其它第三方, 如: 七牛。代码使用 JavaScript编写,未使用jQueryZepto 等其它第三方的额 JS 库。

七牛上传 DEMO

使用

引入

<script src="/admin/ja.upload.js"></script>

HTML 代码结构

<div class="form-group">
    <label>图片</label> <!-- 使用 data-upload 定义 配置 --> <input type="text" class="form-control" data-upload="{&quot;type&quot;:&quot;image&quot;}" /> 
</div>

JS 调用代码

jaUpload('.form-control', {/* 公用配置 会被 input data-upload 覆盖 */});

可用参数

名称类型默认值描述
namestring'file'后台接收文件上传代码的 文件字段名称
urlstring''文件上传路径,默认空 当前网址
typebool stringfalse文件类型 可填 'image'
btn_namestring'上传文件'按钮显示的文字
btn_uploadingstring'上传 ...'上传中 按钮显示的文字
btn_classstring'btn btn-sm btn-success'按钮 class
valuefunction bool stringfalse默认 false 直接填入上传文件后的返回值,可以是 返回值的键名 如: file.path代表返回数据的r['file']['path'],也可以是 处理函数
max_sizenumber102410242文件大小限制
dataobject{}附加数据 字段可以使用 {date} {time} {U} {name} {size} 代表变量
bottomnumber0按钮定位
rightnumber0按钮定位
marginnumber0边距
readonlybooltrue是否设定 input 只读

DEMO

Yii2 框架使用 yiidoc/yii2-redactor 上传的配置

{
    url: '*****', // 配置的 yii2-redactor 上传地址
    value: 'filelink'
}

使用 七牛 上传的配置

{
    // 上传地址
    url: 'http://up-z2.qiniu.com/',
    // 表单附加数据 这里 用作 七牛认证
    data: {
        key: '{date}-{U}-{name}',
        token: '' // 七牛 token
    },
    // 上传完成后返回数据的处理
    value: function(a, d){
        var _u = 'http://oo5fdwvf6.bkt.clouddn.com/'+a.key;
        if(_img = d.parentNode.querySelector('img')){
            _img.src = _u;
        }
        return _u;
    }
});

本文出自简爱博客,转载时请注明出处及相应链接。

评论

  1. 起点终站2017-04-18 15:06回复

    学习了