小程序上传图片到七牛云

article/2025/9/15 13:25:41

                              小程序上传图片到七牛云

一、创建七牛云账号,获取ak、sk,创建对象存储空间名称

二、服务端接口获取七牛token值,个人使用的php编写的后端代码

1、小程序获取token接口调用,该方法我这里写在了utils文件夹里的util.js文件中,所以下文中上传图片引用的时候会用到对应的文件目录,该方法我在界面初始化监听的时候调用并写入了缓存方便后期使用,可根据自身需求更改token存储方式,代码如下:

  //获取七牛tokenfunction getQiniuloadToken() {var newurl=getApp().globalData.site_url + 'User.getQiniuToken';var data= {}this.requestpromise (newurl,'POST' ,data).then(res => {//服务器返回数据//console.log('success-七牛token----------:',res );//设置token信息缓存var qiniutoken=res.data.data.info[0]['token'];wx.setStorageSync('qiniutoken', qiniutoken);getApp().globalData.qiniutoken = qiniutoken;}).catch(res => {//异常}).finally(()=>{//结束})}
//模块化
module.exports = {getQiniuloadToken:getQiniuloadToken,
}

 2、服务端获取七牛token接口,相关的七牛信息都在配置文件中读取,需要引用七牛autoload.php文件,代码如下:

	/*** 获取七牛上传Token* @desc 用于获取七牛上传Token* @return int code 操作码,0表示成功* @return string msg 提示信息*/public function getQiniuToken(){$rs = array('code' => 0, 'msg' => '', 'info' =>array());//获取后台配置的腾讯云存储信息$configpri=\App\getConfigPri();require_once API_ROOT.'/../sdk/qiniu/autoload.php';// 需要填写你的 Access Key 和 Secret Key$accessKey = $configpri['qiniu_accesskey'];$secretKey = $configpri['qiniu_secretkey'];$bucket = $configpri['qiniu_bucket'];$qiniu_domain_url = $configpri['qiniu_domain_url'];// 构建鉴权对象$auth = new \Qiniu\Auth($accessKey, $secretKey);// 生成上传 Token$token = $auth->uploadToken($bucket);$rs['info'][0]['token']=$token ; return $rs; }

三、小程序界面上传图片

1、wxml部分代码,chooseDetail为绑定的选择图片的方法

      <view class="chooseView" bindtap="chooseDetail" ><view class="add_img">.....</view></view>

2、上传图片js引用公共js:

//引入相关文件
const app = getApp()
const tools = require('../../utils/util')//token获取方法所在文件
var qiniuUpload = require('../../utils/qiniuUploader')//七牛云上传必须jsdata: {imgList: [],//初始化定义上传图片集合},

3、chooseDetail方法代码如下:

/** 选择图片detail */chooseDetail: function() {var that = this;var state = 0;    // 上传第几张图片var imgList = []; // 保存图片数组if (that.data.detail.length < 9) {wx.chooseImage({count: 9,//限制文件个数sizeType: [ 'original','compressed'],//原图、压缩图sourceType: ['album', 'camera'],//相册、相机success: function(photo) {//上传到七牛wx.showLoading({title: '上传中...',})var uploadArr = photo.tempFilePaths;  // chooseImage上传成功的数组var uploadNum = photo.tempFilePaths.length; // 上传数组的长度var qiniutoken=getApp().globalData.qiniutoken;//全局定义七牛云token值,可根据需求自定义存储new Promise(function (resolve, reject) {for (var i = 0; i < uploadNum; i++) {var random = Math.floor(Math.random() * 10000); //随机数console.log("random======"+random);qiniuUpload.upload(uploadArr[i], (res) => {state++;imgList.push(res.imageURL);if (state == uploadNum) {resolve(imgList);}}, (error) => {reject('error');console.log('error: ' + error);wx.hideLoading();}, {uploadURL: 'http://up.qiniup.com', //上传到七牛的那个存储区域,上传区域根据存储空间所在区域决定。domain: 'qiniu.pudu.live/',//CDN加速域名,此处末尾需加个/  不加的话在res.imageURL返回值中图片访问失败uptoken: qiniutoken, //服务端接口获取的七牛token值region: 'ECN',key:'user/'+ random + '.png', // 图片自定义的key(名称) })}}).then(function (imgList) {console.log("imgList==========="+imgList);// imgLlist赋值that.setData({imgList: that.data.imgList.concat(imgList)})wx.hideLoading();})}})} else {wx.showToast({title: '限制选择9个文件',icon: 'none',duration: 1000})}},

其中qiniuUploader.js文件获取路径:

链接:https://pan.baidu.com/s/1Vb93Hi8-GeS0abqHLSwqmQ 
提取码:9fbo 
 

以上小程序直传图片文件到七牛云简介完成,如有疑问留言即可。


http://chatgpt.dhexx.cn/article/sHIEQVZW.shtml

相关文章

小程序使用formdata上传图片

目标 实现小程序端单张图片上传。前端通过formdata将文件数据传递到后端。后端用MultipartFile类型接收文件数据。 遇到的困难&#xff1a; 微信本身没有FormData对象&#xff0c;无法使用 new FormData。经过搜索找到解决办法。微信开放社区 | github&#xff08;个人认为微…

小程序图片上传功能

小程序代码&#xff1a; UpImages.wxml <button bindtapuploadPhoto>拍照选取照片上传</button> 简单画一个页面&#xff0c;使用按钮调小程序默认的upload&#xff08;page, path&#xff09;方法&#xff0c;默认支持单次上传一张图片&#xff0c;可修改 Upimage…

uniapp微信小程序图片上传

<template><view class"content"><view class"button"><button click"chooseFile" value"请选择文件">请选择文件</button></view><view class"img" v-for"imgPath in imgPath…

微信小程序上传照片,限制格式,限制大小,公用方法

方法 /*** 选择上传照片* page_that:调用方法的页面&#xff0c;* cb_key:返回参数数组的名称* count:上传张数* 返回值&#xff1a;数组*/ function selecImg(page_that, cb_key, count) {console.log("选择图片");wx.chooseImage({count: count,sizeType: [compre…

小程序 图片上传php后台,微信小程序上传图片到php服务器的方法

本文实例为大家分享了微信小程序上传图片到php服务器的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 js代码如下 submitPhoto(){ var that this; wx.uploadFile({ url: http://xxx.cn/upload.php, //仅为示例&#xff0c;非真实的接口地址 filePath: imagePath, n…

微信小程序上传图片到Java后端

1.小程序wxml: <view><view>准备上传的图片</view><image class"ph" src"{{photoold}}" mode"aspectFit"></image><view><button bindtap"chooseImage" size"mini" type"prima…

(一)微信小程序云开发之上传图片(全流程讲解)

前言 第一次写CSDN&#xff0c;有什么写的不清楚的地方大家指点。 我本是做前端的&#xff0c;干了6年左右&#xff0c;前一阵接了个私活&#xff0c;做微信小程序。技术上小程序用的原生vant&#xff0c;后台管理系统用的VueElement&#xff0c;本来是前后端分离按照正常流程去…

小程序图片上传

小程序图片上传&#xff1a; 需求&#xff1a; 点击上传和删除选中图片功能实例&#xff1a; 分析过程&#xff1a; 1.首先使用tt.chooseImage()选择上传的图片&#xff0c;获取到所选择图片的网络地址。 2.然后使用tt.uploadFile()将选择的图片上传到项目后台。 3.其次使用…

小程序上传图片wx.uploadFile用法

前言&#xff1a; 小程序的上传和我们开发其他项目是不一样的&#xff0c;这里说一说他的用法。 使用步骤&#xff1a; 1、这里默认开发环境&#xff0c;并且默认不校验https,部署好环境 设置-》项目设置-》勾选 2、页面添加事件方法&#xff0c;这里核心方法是两个&#xff…

微信小程序实现图片上传

微信小程序实现图片上传 最近做了个小程序&#xff0c;涉及到了图片上传的功能&#xff0c;今天给大家详细介绍下如何实现小程序图片上传&#xff0c;话不多说先上代码 首先是静态布局和样式部分 .wxml代码部分 <view classload-img><view classload-box><v…

李宏毅《深度学习》:深度学习入门实例

1、Keras 在这里我们推荐使用keras进行深度学习编程&#xff0c;比起tensorflow来说更容易学习&#xff0c;操作简单&#xff0c; 2、手写识别实例 这里手写识别的数据集来自于minst&#xff0c;一个非常常用的数据集&#xff0c;从keras里可以直接导入 第一步&#xff0c;定…

零基础小白深度学习入门篇

觉得小编不错 请关注 加点赞 谢谢 一、人工智能和新科技革命 2017年,围棋界发生了一件比较重大的事,Master(AlphaGo)以60连胜横扫天下,击败各路世界冠军,人工智能以气势如虹的姿态出现在我们人类面前。围棋曾经一度被称为“人类智慧的堡垒”,如今,这座堡垒也随之成为…

学深度学习入门

深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向&#xff0c;它被引入机器学习使其更接近于最初的目标——人工智能(AI, Artificial Intelligence)。 深度学习是学习样本数据的内在规律和表示层次&#xff0c;这些学习过程中获得的信息对…

《深度学习入门-基于Python的理论与实现》第四章带读 – 神经网络的学习

文章目录 4.1 从数据中学习4.2 损失函数a.均方误差b.交叉熵误差c.mini-batch学习d.为何要设定损失函数 4.3 梯度梯度法 4.4 神经网络的学习步骤 开篇介绍&#xff1a;《深度学习入门-基于Python的理论与实现》书籍介绍第一章&#xff1a;《深度学习入门-基于Python的理论与实现…

机器学习与深度学习入门篇

一、机器学习 1.机器学习是什么&#xff1f; 机器学习是将无序数据转换为价值的方法。 2.机器学习的价值 从数据中抽取规律&#xff0c;并预测未来。 3.机器学习的应用 &#xff08;1&#xff09;分类问题 图像识别、垃圾邮件识别。 &#xff08;2&#xff09;回归问题 股…

深度学习入门:基于Python的理论与实现①

深度学习入门&#xff1a;基于Python的理论与实现① 机器学习的三大要素第一章python入门1.Numpy1.1.numpy的N维数组1.2.numpy广播1.3访问元素 2.Matplotlib 第二章感知机1.感知机是什么2.感知机的实现2.1简单的实现2.2导入权重和偏置 3.多层感知机 第三章神经网络1.从感知机到…

深度学习入门与实战

数学基础 线性代数 深度学习背后的核心是标量、向量、矩阵和张量这 4 种数据结构&#xff0c;通过使用这些数据结构&#xff0c;以编程的方式解决所有基本的线性代数问题。 标量 标量&#xff0c;实际上就是一个单独的数。 向量及其运算 一个向量表示一组有序排列&#x…

深度学习入门:基于Python的理论与实现——第一章Python入门

本文为深度学习入门&#xff1a;基于Python的理论与实现的学习笔记&#xff0c;由于笔者已有matalb、c\c&#xff0c;java相关语言基础&#xff0c;故只记录不同之处需要注意的地方&#xff0c;供给有其他有语言基础&#xff0c;没学过python但研究方向为机器学习等分支方向的同…

《深度学习入门-基于Python的理论与实现》书籍介绍

写在开头&#xff0c;为什么要写这个专题 深度学习入门知识&#xff0c;无非就是神经网络、CNN、RNN等。很早之前就想出一个专题&#xff0c;用于梳理深度学习入门知识&#xff0c;方便形成更好的系统。 经过多方调研、思考&#xff0c;最终决定通过带读经典书籍的方式展开。…

深度学习入门(鱼书)学习笔记

第1章 Python入门 第2章 感知机 第3章 神经网络 3.2.激活函数 sigmoid函数&#xff1a; h ( x ) 1 1 exp ⁡ ( − x ) h(x)\frac{1}{1\exp(-x)} h(x)1exp(−x)1​ ReLU&#xff08;Rectified Linear Unit&#xff09;函数&#xff1a; h ( x ) { x , ( x > 0 ) 0 ,…