首页 > 教程 >
基于uni-app实现图片上传JS插件
2023-02-18教程围观次
简介使用前先new一下所有方法均返回promise对象可使用then()写后续业务或使用asyncawait服务端返回示例{"code":0,"msg":"上传成功","data":"http://www.test.com/uploads/20190227/f2824d2d4dc38f30699f816226b4a578.jpg"}直接上源码/*2019-02-27lane封装uni-app图片上传功
使用前先new 一下
所有方法均返回 promise 对象 可使用then() 写后续业务 或 使用 async await
服务端返回示例
{ "code":0, "msg":"上传成功", "data":"http://www.test.com/uploads/20190227/f2824d2d4dc38f30699f816226b4a578.jpg"}
直接上源码
/* 2019-02-27 lane 封装 uni-app 图片上传功能 使用前先new 一下 所有方法均返回 promise 对象 可使用then() 写后续业务 或 使用 async await 服务端返回示例 { "code":0, "msg":"上传成功", "data":"http://www.test.com/uploads/20190227/f2824d2d4dc38f30699f816226b4a578.jpg" } choose 选择图片 参数 num 为要选择的图片数量 upload_one 上传一张图片 参数 path 选择成功后返回的 缓存文件图片路径 upload 上传多张图片 参数 path_arr 选择图片成功后 返回的图片路径数组 choose_and_upload 选择图片并上传 参数 num 为要选择的图片数量*/// 引入配置信息或者自己创建个 config 对象import config from "../config.js";let config = { // 上传图片的API upload_img_url:'http://uni_upload.gek6.com/index.php/index/upload'}class Uploader { constructor() { } choose(num) { return new Promise((resolve, reject) => { uni.chooseImage({ count: num, success(res) { // console.log(res); // 缓存文件路径 resolve(res.tempFilePaths) }, fail(err) { console.log(err) reject(err) } }) }) } upload_one(path) { return new Promise((resolve, reject) => { uni.showLoading({ :'上传中' }) uni.uploadFile({ url: config.upload_img_url, //仅为示例,非真实的接口地址 filePath: path, name: 'file', success: (uploadFileRes) => { if("string"===typeof uploadFileRes.data){ resolve(JSON.parse(uploadFileRes.data).data) }else{ resolve( uploadFileRes.data.data ) } }, complete() { uni.hideLoading() } }); }) } upload(path_arr) { let num = path_arr.length; return new Promise(async (resolve, reject) => { let img_urls = [] for (let i = 0; i < num; i++) { let img_url = await this.upload_one(path_arr[i]); console.log(img_url) img_urls.push(img_url) }; console.log("全部上传成功") resolve(img_urls) }) } choose_and_upload(num) { return new Promise(async (resolve, reject) => { let path_arr = await this.choose(num); let img_urls = await this.upload(path_arr); resolve(img_urls); }) }}export default Uploader;
choose 选择图片
参数 num 为要选择的图片数量返回 图片缓存路径 数组
upload_one 上传一张图片
参数 path 选择成功后返回 远程图片路径
upload 上传多张图片
参数 path_arr 选择图片成功后 返回远程图片路径数组
choose_and_upload 选择图片并上传
参数 num 为要选择的图片数量 返回 图片缓存路径 数组
下载链接:网站源码/小程序源码/网站模板下载
下载排行
- 最新版去水印小程序源码/基于WordPress的短视频去水印小程序源码
- 某鱼最近卖的很火蓝色版微信去水印小程序源码+接口
- 最新短视频去水印小程序源码/带流量主/外卖CPS系统/批量解析/修改MD5
- 帝国CMS仿管理资源吧资料下载网站模板源码/下载会员+积分付费下载功能自动采集资源网站源码
- WordPress主题 JustNews5.2.2 + QAPress问答插件适合源码站虚拟资源站个人博客
- 苹果CMS二次元慕乔JOELEO模板/精美UI手机版影视模板
- 最新去水印小程序源码分享/无需后台/对接接口/支持全网去水印功能
- 知识付费小程序源码升级版知识付费变现小程序源码+卡密-独立后台版本
- 最新去水印小程序源码分享/无需后台/对接接口/支持全网去水印功能
- 社群空间站一键发布微信群精品优质社群的搜索和发布平台