import{c as t,o as d,C as e}from"./vendor.26d316d2.js";const r={class:"markdown-body"},o=e('

Uploader 上传

介绍

用于将本地的图片或文件上传至服务器。

安装

import { createApp } from 'vue';\nimport { Uploader } from '@nutui/nutui-taro';\n\nconst app = createApp();\napp.use(Uploader);\n\n

代码示例

基本用法

<nut-uploader url="http://服务器地址"></nut-uploader>\n

自定义上传样式

<nut-uploader url="http://服务器地址">\n  <nut-button type="primary" icon="uploader">上传文件</nut-button>\n</nut-uploader>\n

直接调起摄像头 camera

<nut-uploader url="http://服务器地址" :source-type="['camera']" ></nut-uploader>\n

限制上传数量5个

<nut-uploader url="http://服务器地址" multiple maximum="5"></nut-uploader>\n

限制上传大小(每个文件最大不超过 50kb)

<nut-uploader url="http://服务器地址" multiple :maximize="1024 * 50"  @oversize="onOversize"></nut-uploader>\n
setup() {\n    const formData = {\n      custom: 'test'\n    };\n    const onOversize = (files: File[]) => {\n      console.log('oversize 触发 文件大小不能超过 50kb', files);\n    };\n\n   \n    return {\n      onOversize,\n      formData\n    };\n}\n

自定义 FormData headers

<nut-uploader url="http://服务器地址" :data="formData" :headers="formData"></nut-uploader>\n
setup() {\n    const formData = {\n      custom: 'test'\n    };\n    const onOversize = (files: File[]) => {\n      console.log('oversize 触发 文件大小不能超过 50kb', files);\n    };\n   \n    return {\n      onOversize,\n      formData\n    };\n}\n

禁用状态

<nut-uploader disabled></nut-uploader>\n

Prop

字段说明类型默认值
name发到后台的文件参数名String“file”
url上传服务器的接口地址String-
v-model:file-list默认已经上传的文件列表FileItem[][]
is-preview是否上传成功后展示预览图Booleantrue
is-deletable是否展示删除按钮Booleantrue
method上传请求的 http methodString“post”
source-type选择图片的来源String[‘album’,‘camera’]
maximize可以设定最大上传文件的大小(字节)Number丨String9
maximum文件上传数量限制Number丨String1
size-type选择图片的来源,详细说明String[‘original’,‘compressed’]
headers设置上传的请求头部Object{}
data附加上传的信息 formDataObject{}
upload-icon上传区域图标名称或图片链接String“photograph”
xhr-state接口响应的成功状态(status)值Number200
disabled是否禁用文件上传Booleanfasle
timeout超时时间,单位为毫秒Number丨String1000 * 30
before-delete除文件时的回调,返回值为 false 时不移除。支持返回一个 Promise 对象,Promise 对象 resolve(false) 或 reject 时不移除Function(file): boolean 丨Promise-

FileItem

名称说明默认值
status文件状态值,可选’ready,uploading,success,error,removed’“ready”
uid文件的唯一标识new Date().getTime().toString()
name文件名称“”
url文件路径“”
formData上传所需的data{}

Event

名称说明回调参数
start文件上传开始options
progress文件上传的进度event,options
oversize文件大小超过限制时触发files
success上传成功response,options
failure上传失败response,options
change上传文件改变时的状态fileList,event
delete文件删除之前的状态files,fileList
',28),a={setup:e=>(e,a)=>(d(),t("div",r,[o]))};export{a as default};