UNPKG

@zhangqingcq/plug-r-qw

Version:

A JS lib base on Vue and View-design, you can achieve some complex functions with simple code after install this lib.

76 lines (49 loc) 3.44 kB
## uploadGroup 支持本地上传或直接上传到服务器、上传文件列表展示或缩略图展示或不展示等功能的上传组件,全局 UI 组件,直接用 ### 属性 - fileIdListProp: 数组/数字/字符串/文件对象,组件的值,推荐用*v-model* 绑定。 - url: 字符串,文件上传地址(远程上传时),如:`http://myfileurl.com/flie` - data: 对象,文件上传接口其他参数(远程上传时),如:`{appId: 0,moduleId: 0,typeId: 0}` - manualUpload: 布尔类型,是否开启本地上传模式,默认 false(远程上传),给该字段赋值`true`时开启本地上传,该模式适合需要通过该组件获取到文件对象的集合(v-model),然后自己处理上传到服务器的逻辑的情况。 - maxSize: 正数,单个文件大小限制,默认 0,不限制 - length: 正整数,可传文件个数,默认 0,不限制 - showUploadList: 布尔类型,是否展示上传列表,默认 true,展示 - withCredentials: 布尔类型,是否支持发送 cookie 凭证信息,默认 true - multiple: 布尔类型,选择文件时是否可以多选,多选时无法限制可传文件个数(用户第一次选择文件时想选多少个是限制不了的),建议多选和限制可传文件个数功能二选一,不要同时开启,默认 false - format: 数组,文件格式限制(后缀名),默认[],不限制 - showImg: 布尔类型,是否开启缩略图模式,如果上传列表里有非图片文件,会自动转换成列表模式,默认 false,不开启 - disabled: 是否禁用组件(禁用后仅展示已有文件,如表单修改时文件不可修改),默认 false,不禁用 ### 事件 - on-file-id-change: 文件 id 改变,返回改变后的 id 或 id 的集合 ### 方法 - clear: 清空上传列表 ### 注意 - 如果要使用远程上传模式(文件直接上传到服务器),因为本组件该模式是定制化开发,接口数据格式限定死了,默认用的私有地址,只在特定环境有效,如果需要在其他接口数据格式下使用该组件,推荐使用本地模式,然后自己处理上传到服务器的逻辑,或者使用 iview 的 upload 组件 - 如果想用远程上传模式,需要将上传接口地址传到 url,组件会以`multipart/form-data`的格式将文件以`files`这个字段传递给服务器(实为单文件上传,接口建议写成多文件上传,更实用),上传接口附加字段也会以 form-data 的方式同时传递给服务器(在组件`data`属性配置的字段),本库示例项目中`uploadGroupEX`有使用示例,本库`node-serve` 中有 NodeJS 版的接口可供参考。 - 文件上传接口返回数据格式需如下: ``` { code:0,/*表示上传成功*/ data:[ { id:XXX, mimeType:XXX/*文件类型,对应file对象的type,如:image/jpeg*/ } ] } ``` - 文件下载接口需为`url+'/'+id+'/download'`,其中 url 为文件上传地址,id 为文件上传成功接口返回的文件 id - 文件信息获取地址为`url+'/'+id`,用于在界面上根据 id 反显文件,返回数据格式需如下: ``` { data:{ returnValue:[ { id:XXX, name:XXX, mimeType:XXX/*文件类型,对应file对象的type,如:image/jpeg*/ } ] } } ```