前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >小程序图片上传功能

小程序图片上传功能

作者头像
用户10175992
发布于 2023-10-17 02:37:08
发布于 2023-10-17 02:37:08
34200
代码可运行
举报
文章被收录于专栏:辰远辰远
运行总次数:0
代码可运行

小程序代码:

UpImages.wxml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<button bindtap='uploadPhoto'>拍照选取照片上传</button>

 简单画一个页面,使用按钮调小程序默认的upload(page, path)方法,默认支持单次上传一张图片,可修改

 Upimages.js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Page({
  data: {
    imgData: []
  },
  uploadPhoto() { // 拍摄或从相册选取上传
    let that = this;
    wx.chooseImage({
      count: 1, // 默认9
      sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
      success(res) {
        let tempFilePaths = res.tempFilePaths; // 返回选定照片的本地路径列表 
        that.upload(that, tempFilePaths);
      }
    })
  },
  
  upload(page, path) { // 上传图片
    wx.showToast({
      icon: "loading",
      title: "正在上传……"
    });
    wx.uploadFile({
      url: '', //本地后端接口
      filePath: path[0],
      name: 'file',
      header: {
        "Content-Type": "multipart/form-data"   //必须是multipart/form-data格式才能上传文件
      },
      formData: {
        //和服务器约定的token, 一般也可以放在header中
        'session_token': wx.getStorageSync('session_token')
        },
      success(res) {
        console.log(res)
        if (res.statusCode != 200) {
          wx.showModal({
            title: '提示',
            content: '上传失败',
            showCancel: false
          });
          return;
        } else {
          wx.showModal({
            title: '提示',
            content: '上传成功',
            success: function (res) {
              if (res.confirm) { //这里是点击了确定以后
                console.log('用户点击确定')
                wx.navigateTo({
                  url: "../index/index" //这里是上传成功后确定返回页面
                })
              } else { //这里是点击了取消以后
                console.log('用户点击取消')
                wx.navigateTo({
                  url: "../index/index" //这里是上传成功后取消返回页面
                })
              }
            }
          })
        }
      },
      fail(e) {
        wx.showModal({
          title: '提示',
          content: '上传失败',
          showCancel: false
        });
      },
      complete() {
        wx.hideToast(); //隐藏Toast
      }
    })
  }
})

 后端接收

我目前使用的是SSM框架,需要在springmvc.xml添加配置

 springmvc.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!-- 配置文件上传相关 -->
    <!--配置文件解析器对象,有了它就可以进行文件上传-->
    <!-- 配置文件解析器-->
    <!-- 此处id为固定写法,不能随便取名-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="maxUploadSize" value="1048576"></property>
    </bean>

 Controller层代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//接收小程序上传的图片
    @RequestMapping(value = "/upload", method = {RequestMethod.POST, RequestMethod.GET})
    @ResponseBody
    public String[] uploadfile(MultipartFile[] file, HttpServletRequest request) {
        //本地服务器图片文件地址
        String dir = "D:\\images";
        String[] b = null;
        for (MultipartFile files : file) {
            String filename = files.getOriginalFilename();
            String suffix = filename.substring(filename.lastIndexOf("."));
            String path = filename;
            //创建要保存文件的路径
            String time = new Date().getTime() + "." + suffix;
            String[] a = {path, time};
            File dirFile = new File(dir, time);
            if (!dirFile.exists()) {
                dirFile.mkdirs();
            }
            try {
                //将文件写入创建的路径
                files.transferTo(dirFile);
                return a;
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return b;
    }

 记得最重要的一点:小程序的名称file和后台Controller接收的名称file必须一致才能把图片传输到后台

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
「小程序JAVA实战」小程序头像图片上传(下)(45)
接下来,我们应该通过用户的id,调用后端的接口,查询出来点赞的数量,关注的数量,粉丝数量,直接更新头像图片。源码:https://github.com/limingios/wxProgram.git
IT架构圈
2019/07/08
6690
「小程序JAVA实战」小程序头像图片上传(下)(45)
微信小程序富文本编辑器editor初体验-图片上传
https://developers.weixin.qq.com/miniprogram/dev/component/editor.html
hotqin888
2019/06/14
5.9K1
「小程序JAVA实战」小程序查看视频发布者信息(64)
PS:现在发布人的界面和个人界面是一样的,应该根据判断,发布人的里面只能有关注和视频列表,而个人界面可以进行注销上传视频操作,下次我们继续完成。
IT架构圈
2019/07/08
5850
「小程序JAVA实战」小程序查看视频发布者信息(64)
微信小程序实现图片上传限制数量和删除
<view class="col"> <view class="file" wx:for="{{fileList}}" wx:key="index"> <image mode="aspectFill" src="{{item}}" /> <view class="del" data-index="{{index}}" bindtap="delFile"> <image m
明知山
2020/09/03
3.6K2
微信小程序上传图片
//添加图片 joinPicture: function (e) { var index = e.currentTarget.dataset.index; var evalList = this.data.evalList; var that = this; var imgNumber = evalList[index].tempFilePaths; if (imgNumber.length >= 3) { wx.showModal({
达达前端
2022/04/29
1.6K0
微信小程序上传图片到腾讯COS存储桶实战
作者:火种 最近为了实现在小程序上传图片到腾讯COS存储桶,把官方提供的demo,看了一遍又一遍,试了又试,错了又错,踏过一个又一个坑,终于从不懂,到懵懂,到懂。>.<,好累,在此过程就不赘述,直接开始,希望和我一样的小白也可能轻松用上腾讯COS存储桶。
加菲猫的VFP
2022/05/26
3.8K0
微信小程序上传图片到腾讯COS存储桶实战
微信小程序实现上传图片功能[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/150595.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/28
4.9K0
微信小程序实现上传图片功能[通俗易懂]
实战丨如何制作一个完整的外卖微信小程序开发项目(已开源)
一开始项目并非基于云开发而开发的,目前考虑用云开发,因此,需要在项目中开启云开发的相关选项。
腾讯云开发TCB
2020/07/29
4.3K0
实战丨如何制作一个完整的外卖微信小程序开发项目(已开源)
【人像分割】照片底色说换就换【微信小程序】
一般去拍证件照时底色是蓝色或者红色,但有的证件需要其他颜色。要办的证件很多,如果每办一次就要去拍很麻烦,
小帅丶
2021/12/28
1.7K1
【人像分割】照片底色说换就换【微信小程序】
微信小程序-图片上传功能的实现
程序媛夏天
2024/01/18
5020
微信小程序-图片上传功能的实现
「小程序JAVA实战」小程序头像图片上传(上)(43)
PS:基本头像上传已经完毕,主要是springboot和小微信API的使用。对于用户表中的头像更新和交互式弹框,我后来都在源码上做了升级。建议观看源码。
IT架构圈
2019/07/08
7800
「小程序JAVA实战」小程序头像图片上传(上)(43)
微信小程序快速入门开发指南(三)
          url: app.globalData.uploadfileUrl,  //后台接收上传文件的接口
初九之潜龙勿用
2024/06/20
1460
微信小程序语音同步智能识别的实现案例
在小程序的一些应用场景中,会有语音转文字的需求。原有的做法一般是先通过小程序的录音功能录下语音文件,然后再通过调用语音智能识别WebApi(比如百度云AI平台,科大讯飞平台)将语音文件转成文字信息,以上的做法比较繁琐且用户的体验性较差。 为解决此问题,微信直接开放了同声传译的插件,小程序作者可以直接使用该插件进行语音同声传译的开发。此文章将通过前后端整合应用的完整案例完成语音的实时转换,并将语音上传到服务端后台备份。
智慧zhuhuix
2020/08/14
3.2K0
微信小程序语音同步智能识别的实现案例
微信小程序语音聊天智能对话(demo)
项目中用到了 olami sdk把录音或者文字转化为用户可以理解的json字符串。 效果图 重要jS代码: //手指按下时 语音转文字 voiceToChar:function(){ v
honey缘木鱼
2018/07/04
3.5K0
「小程序JAVA实战」小程序的举报功能开发(68)
import com.idig8.pojo.Users; import com.idig8.pojo.UsersReport;
IT架构圈
2019/07/08
8580
「小程序JAVA实战」小程序的举报功能开发(68)
微信小程序开发(二)图片上传+服务端接收
这里的filePath就是图片的存储路径,类型居然是个String,也就是 只能每次传一张图片,我以前的接口都是接收一个array,我本人又是一个半吊子的php,只能自己去改接收图片的接口。
开发者技术前线
2020/11/23
2.1K0
微信小程序开发(二)图片上传+服务端接收
微信小程序开发之多图片上传+服务端接收
  业务需求,这次需要做一个小程序同时选中三张图片一起上传到服务端,后端使用的.NET WEBAPI接收数据保存。
追逐时光者
2019/08/28
2.2K0
微信小程序开发之多图片上传+服务端接收
五个套路看懂微信小程序开发(下)
你或许听说过,快速入门就是要学最小必要知识。而我最近在看微信小程序的官方教程时发现,这个教程虽然简单,但对于微信小程序开发来说,80%的套路都能从这里学习到,你的小程序从0到1可以从这里实现突破。 执行交互 就像绑定数据之后,要去显示数据。我们绑定交互之后,也要让交互被执行,这样才有意义。而交互的执行内容,就写在被声明的交互的下面: changeWord: function() { // 这里写交互的实际内容 } 我们这里介绍两种交互内容的写法,足够解决很多问题了:修改页面数据、弹窗 第一种,修改页
极乐君
2018/02/06
1.1K0
五个套路看懂微信小程序开发(下)
「小程序JAVA实战」小程序的视频展示页面初始化(63)
PS:拦截器excludePathPatterns可以不拦截,分析业务,那些需要登录后才可以获得,那些不需要登录就可以看到。
IT架构圈
2019/07/08
1.1K0
「小程序JAVA实战」小程序的视频展示页面初始化(63)
小程序上传多张图片到springboot后台,返回可供访问的图片链接
其实这两个截图就可以看出,我们图片上传成功了,并且给小程序前端返回了可供访问的图片url。
编程小石头
2020/05/30
1.7K0
小程序上传多张图片到springboot后台,返回可供访问的图片链接
推荐阅读
相关推荐
「小程序JAVA实战」小程序头像图片上传(下)(45)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文