🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 单文件上传 1\.您需要使用requireJs模块化加载Form,Upload,Fast模块,语法如下: ``` define(['jquery', 'bootstrap', 'backend', 'table', 'fast','form','upload'], function ($, undefined, Backend, Table, Fast,Form,Upload) {}); ``` 单文件上传的接口格式如下: ``` Fast.api.uploadFileBox(Function callback,Object options); ``` callback:必须,文件上传完成后的回调函数,接受1个参数,为返回的文件信息对象 options:可选,为传递给接口的配置选项。 2\.在需要调用的页面的DOM对象的click事件调用文件上传弹窗插件 HTML部分代码如下: ``` <a href="javascript:void()" id="btnUploader" data-filetype="file" class="btn btn-info"><i class="fa fa-upload"></i> 上传</a> ``` 如上,在触发上传的代码块中增加绑定了data数据`data-filetype="file"`,data-filetype的值可以是``和`file`分别用于指定上传图像或文件。 3\.接下来在按钮的点击事件中将绑定的数据data-filetype的值构造成JSON对象传递给接口 ``` $('#btnUploader').on('click',function(){ var options={}; var button =$(this); if(button.data('filetype'))options.fileType =button.data('filetype'); Fast.api.uploadFileBox(function(data){ console.log(data); },options); }); ``` 单文件上传返回的文件信息对象结构为: ``` { fileId :10000, //文件上传后再系统表中的编号 title :'关于生物园区改造资金拨付申请的请示', //文件描述,默认为文件上传前的名名称 url :'文件上传后与站点根的相对路径', //相对路径 path :'文件上传后与站点根的相对路径', //同URL,为了兼容老接口 userId :1 //上传此文件的用户编号 } ``` 图像格式支持的MIME类型如下: ``` 'image/gif','image/jpeg','image/png','image/bmp' ``` 文件类型支持上传的扩展名如下: ``` 'zip','rar','tar.gz','doc','docx','xls','xlsx','ppt','pptx','pdf', 'mp3','mp4','flv','avi','mid','wav','gif','jpg','jpeg','png','bmp' ``` 文件上传后本地的处理: - - - - - - 建议您在存储文件时将获取到的文件信息构造成如下标准的JSON结构,并作为字符串存储到数据库中,方便后期进行扩展升级 ``` [ {"fileId":10000,"title":"文件描述","url":"文件路径"}, {"fileId":10000,"title":"文件描述","url":"文件路径"} ] ```