1.vant-ui默认上传附件为图片格式
<van-uploader :after-read='afterRead' :max-count="1">
<!-- 可以自己修改默认添加的样式
max-count:限制了一次上传的个数
after-read:为上传后的回调函数 -->
</van-uploader>
2.修改vant-ui上传文件如word、excel、ppt、pdf等
<van-uploader :after-read='afterRead'
:max-count="1"
accept=".doc,.docx,.pdf,.ppt,.pptx,.xlsx,.xls"
>
<!-- 可以自己修改默认添加的样式
max-count:限制了一次上传的个数
after-read:为上传后的回调函数
accept:设置可上传文件范围 -->
</van-uploader>
afterRead(file){
//upload是一个附件上传格式处理后的公共方法,代码在下边。
//url为上传附件的后台接口路径
upload(`url`, {
file
}).then((data) => {
//上传成功后返回附件相关信息
})
},
//附件上传配置为FormData格式
//url为接口请求路径
//params为附件返回的file中携带的数据
export function upload(url, params) {
return new Promise((resolve, reject) => {
const param = new FormData();
param.append("file", params.file.file);
const config = {
headers: { "Content-Type": "multipart/form-data" },
};
axios.post(url, param, config)
.then((res) => {
console.log(res);
resolve(res.data);
})
.catch((err) => {
reject(err.data);
});
});
}