Skip to content

Upload组件 jb-upload

图片

jb-upload组件是在NaiveUIUpload组件基础上扩展的一个组件,所以NaiveUI中支持的属性在jb-upload中都可以使用。

jb-upload做了以下扩展:

  • 简单配置即可上传到七牛云或后台服务器
  • 支持将上传的文件地址拼接成一个字符串返回
  • 也支持接收一个多文件地址拼接的字符串,自动解析成文件数组

Props

名称类型默认值说明
modelValuestring|string[]undefined绑定的值
valueJoinstring|false,上传的文件地址是否join成一个字符串,false代表不join返回数组结构,字符串代表join使用的字符,value返回的是join后的一个完整字符串
uploadToUploadTo.env-configdefaultUploadTo配置项值将图片或者视频上传到哪里 具体说明参考
qiniuSnstring.env-configdefaultQiniuSn配置项值七牛上传时,使用哪个配置,具体说明参考
savePathstring``文件服务器的保存路径,路径支持动态生成,通过{}指定规则生成动态值,具体规则说明
imgSavePathstringimg/editor/<br/>{date(yyMMddHHmm)}/<br/>{random(5)}/{ori}图片上传到文件服务器的保存路径,路径支持动态生成,通过{}指定规则生成动态值,具体规则说明
onlyShowbooleanfalse是否只用于展示文件列表,不上传

示例

最简单的用法, model值可以为http://a.com/1.jpg,http://a.com/2.jpg 这种格式的值,也可以为['http://a.com/1.jpg','http://a.com/2.jpg'] 这种格式的值,组件都会自动处理。

vue
<jb-upload
    v-model="form.files"
    :multiple="true"
    save-path="sysnotice/{date(yyMMdd)}/{random(6)}/{ori}"
>
    <n-button>上传文件</n-button>
</jb-upload>
<jb-upload
    v-model="form.files"
    :multiple="true"
    save-path="sysnotice/{date(yyMMdd)}/{random(6)}/{ori}"
>
    <n-button>上传文件</n-button>
</jb-upload>

不上传只用于展示文件列表

vue
<jb-upload
    :model-value="data.files ?? []"
    :only-show="true"
    show-download-button
    :show-remove-button="false"
    :show-cancel-button="false"
></jb-upload>
<jb-upload
    :model-value="data.files ?? []"
    :only-show="true"
    show-download-button
    :show-remove-button="false"
    :show-cancel-button="false"
></jb-upload>