基于uni-app实现图片上传JS插件

基于uni-app实现图片上传JS插件

相关学习推荐:javascript(视频)

使用前先new 一下
所有方法均返回 promise 对象 可使用then() 写后续业务 或 使用 async await

预览一下

小程序端

体验一下

h5 地址 http://uni_upload.gek6.com/uploader/#/

服务端返回示例
{"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"}choose选择图片参数 num 为要选择的图片数量upload_one 上传一张图片参数 path  选择成功后返回的 缓存文件图片路径upload  上传多张图片参数 path_arr 选择图片成功后 返回的图片路径数组choose_and_upload  选择图片并上传参数 num 为要选择的图片数量*/// 引入配置信息或者自己创建个 config 对象// import config from "../config.js";let config = {// 上传图片的APIupload_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({title:'上传中'})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  {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 为要选择的图片数量 返回 图片缓存路径 数组复制代码

登录后复制

了解更多其他精品文章,敬请关注uni-app栏目~

以上就是基于uni-app实现图片上传JS插件的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3032499.html

(0)
上一篇 2025年3月13日 08:45:12
下一篇 2025年3月5日 01:49:03

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • uni-app实现微信端性能翻倍的妙招

    相关学习推荐:微信小程序开发教程 多次论证、数月研发,我们重写部分Vue底层、重构uni-app框架,实现了微信端性能翻倍及更多Vue语法支持。 背景 uni-app在初期借鉴了mpvue,实现了微信小程序端的快速兼容,感谢美团点评团队对于…

    2025年3月13日
    200
  • uni-app 小程序 Laravel+jwt 权限认证系列

    uni-app开发教程栏目介绍系列权限认证的方法。 推荐:uni-app开发教程 环境说明 uni-applaravel 5.7 + jwt-auth 1.0.0 权限认证整体说明 设计表结构前端 request 类有关权限认证的 js 封…

    2025年3月13日
    200
  • 使用脚手架创建uni-app项目

    “ 闲来无事写写小程序,于是想用uni-app框架来实现,本文将会对创建步骤进行详解。 ” 前言 本文主要针对小程序框架uni-app的创建展开介绍,如果你也是新手那就可以跟着咔咔的节奏一起来。 一、安装node.js 打开官网安装咔咔圈起…

    2025年3月13日 编程技术
    200
  • uniapp如何查看签名信息

    uniapp查看签名信息的方法:首先将apk修改后缀为【.zip】文件后解压;然后进入解压后的【META-INF】目录;最后 在该目录下打开cmd,输入命令 【keytool -printcert -file CERT.RSA】即可查看。 …

    2025年3月13日
    200
  • uni-app如何获取dom节点

    uniapp获取dom节点的方法:1、获取匹配选择器的第一个节点,代码为【let dom=query.select(selector)】;2、获取匹配选择器的所有节点,代码为【letdoms=query.selectAll(selec.】。…

    2025年3月13日
    200
  • uniapp如何实现选项卡功能

    uniapp实现选项卡功能的方法:首先写一个外框,把选项卡固定在顶部使用【display: flex】;然后使用三目运算分别赋一个排序,如果选中则添加【inv-h-se】样式;最后写2个不同的容器,使用【v-show】来切换。 本教程操作环…

    2025年3月13日
    200
  • Uniapp怎么引入外部js

    Uniapp引入外部js的方法:首先新建一个indexl文件,引入外部js,代码为【】;然后打开manifest文件。 本教程操作环境:windows7系统、uni-app2.5.1版本,Dell G3电脑该方法适用于所有品牌电脑。 推荐(…

    2025年3月13日
    200
  • uni-app如何执行同步请求

    uni-app执行同步请求的方法:首先打开Hbuilder新建一个【uni-app】的默认模板;然后用request进行请求,并用async搭配await;接着在调用方法中返回Promise;最后执行以后就看到request变成同步请求。 …

    2025年3月13日 编程技术
    200
  • uniapp如何点击按钮实现跳转界面

    uni-app点击按钮实现跳转界面的方法:首先创建好要跳转的页面路径;然后接收的页面里面简单标识,并点击按钮就会跳转到新页面;最后通过指定type跳转到当前页和底部tab页面。 本教程操作环境:windows7系统、uni-app2.5.1…

    2025年3月13日 编程技术
    200
  • 微信小程序和uniapp的区别是什么?

    区别:1、触摸事件名称上,微信小程序是bindtap,uniapp是“@click”;2、if判断上,微信小程序使用“wx:if=”{{isShow}}”语句,uniapp使用“v-if=”isShow”…

    2025年3月13日
    200

发表回复

登录后才能评论