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

article/2025/9/16 13:54:13

1.小程序wxml:

 <view><view>准备上传的图片</view><image class="ph" src="{{photoold}}" mode="aspectFit"></image><view><button bindtap="chooseImage" size="mini" type="primary">选择图片</button><button bindtap="uploadImage" size="mini"type="primary" >上传图片</button></view><view>上传后从服务器获取的图片</view><image class="ph" src="https://www.ssdnnc.xyz/{{photonew}}" mode="aspectFit"></image></view>

2.小程序JS:

// pages/instructions/instructions.js
Page({/*** 页面的初始数据*/data: {myopenid:"",photoold:"",photonew:""},//选择图片
chooseImage :function(e){var that = this;wx.chooseImage({success(res){that.setData({photoold:res.tempFilePaths[0]})}})
},
uploadImage :function(e){var that =this;console.log("openid:",that.data.myopenid);console.log("filePath:",that.data.photoold);wx.uploadFile({filePath: that.data.photoold,// 参数名和接口一致name: 'file',url: 'https://www.aaaaa.xyz/user/uploadpicture',formData:{'myopenid': that.data.myopenid,}, success(res){console.log(res.data)that.setData({photonew:res.data+"?temp="+new Date().getTime()})wx.showToast({title: '图片上传成功',icon: 'success',duration: 2000})},fail(res){console.log(res)wx.showToast({title: '图片上传失败',icon: 'error',duration: 2000})}})
},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {this.setData({ myopenid : options.myopenid,})},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {}
})

3.Java后端

 //用户上传图片@RequestMapping("/uploadpicture")@ResponseBodypublic String upload2(@RequestParam("file") MultipartFile file , HttpServletRequest request) throws IOException {//上传路径保存设置String openid = request.getParameter("myopenid");System.out.println("openid:"+openid);if(openid!=null){String uploadFileName = file.getOriginalFilename();uploadFileName=openid+getFileType(uploadFileName);System.out.println("上传文件名:"+uploadFileName);//上传路径保存设置//String path = request.getSession().getServletContext().getRealPath("/userpicture/");//写死了,和nginx配置文件里一致String path = "/usr/local/webserver/nginx/image";File realPath = new File(path);if(!realPath.exists()){realPath.mkdir();}System.out.println("上传文件保存地址:"+realPath);InputStream is = file.getInputStream();//文件输入流OutputStream os = new FileOutputStream(new File(realPath,uploadFileName));//文件输出流//读取写出int len=0;byte[] buffer = new byte[1024];while((len=is.read(buffer))!=-1){os.write(buffer,0,len);os.flush();}os.close();is.close();return uploadFileName;}else{return "上传失败!";}}

4.Nginx

		 location ~ .(jpg|png|jpeg|gif|bmp)$ {root /usr/local/webserver/nginx/image;autoindex on;expires 1h;}

5.演示

6.存在的坑

小程序页面如果多次请求的图片地址相同,图片不会自动更新,清除缓存也没用

解决办法:在URL后面加上时间戳

that.setData({photonew:res.data+"?temp="+new Date().getTime()})


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

相关文章

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

前言 第一次写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 ,…

机器学习之深度学习入门

个人公众号 yk 坤帝 获取更多学习资料&#xff0c;学习建议 本文用浅显易懂的语言精准概括了机器学习的相关知识&#xff0c;内容全面&#xff0c;总结到位&#xff0c;剖析了机器学习的what&#xff0c;who&#xff0c;when, where, how&#xff0c;以及why等相关问题。从机器…

深度学习入门极简教程(一)

深度学习入门极简教程&#xff08;一&#xff09; 摘要&#xff1a; 当你和女朋友在路边手拉手一起约会的时候&#xff0c;你可曾想&#xff0c;你们之间早已碰撞出了一种神秘的智慧–深度学习。恋爱容易&#xff0c;相处不易&#xff0c;不断磨合&#xff0c;打造你们的默契&a…

简单易懂的讲解深度学习(入门系列之一)

摘要&#xff1a; 当你和女朋友在路边手拉手一起约会的时候&#xff0c;你可曾想&#xff0c;你们之间早已碰撞出了一种神秘的智慧–深度学习。恋爱容易&#xff0c;相处不易&#xff0c;不断磨合&#xff0c;打造你们的默契&#xff0c;最终才能决定你们是否在一起。深度学习也…

深度学习入门

一、什么是机器学习 人工智能是使一部机器像人一样进行感知、认知、决策、执行的人工程序或系统。其实现的一种方法是机器学习。而深度学习是机器学习的一种&#xff0c;也是近年来较为热门的方法。 人工智能主要有如下三个层面 计算智能能存能算感知智能能听会说&#xff0…

深度学习怎么入门?零基础快速入门深度学习

我根据自己的入门和工作经验&#xff0c;总结了一份超详细的保姆级深度学习从零入门路线&#xff0c;分享给大家; 整个路线分为五个部分&#xff1a; 基础知识;机器学习理论入门;机器学习竞赛实战;深度学习理论入门;深度学习竞赛实战; 1.基础知识学习 首先&#xff0c;我们来…

初学者如何快速入门深度学习?

随着人工智能热潮的再次袭来&#xff0c;深度学习也一度走进大家的视线。相信大家对于深度学习并不陌生&#xff0c;这是人工智能的核心技术之一。因此 要想学习人工智能&#xff0c;就必须要掌握好深度学习的内容。那么小白如何快速入门深度学习呢?下面我就来讲讲入门深度学习…