微信小程序上传图片功能

微信小程序图片上传

  1. 采用的是基于struct的Java后台服务器,所以接受图片是由struct完成。
  2. 首先,在微信开发中,微信有自带的API 中wx.uploadfile能实现多图片上传功能,实现代码如下:
wx.chooseImage({
      count: 1, // 默认9
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
      success: function (res) {
        // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
        var tempFilePaths = res.tempFilePaths
        console.log(tempFilePaths)
        that.setData({
          imgurl: tempFilePaths[0]
        })
      }
    })
    formSubmit: function (e) {
    var that = this
    console.log(e.detail.value)
    var imgurl = that.data.imgurl;
    var value = e.detail.value
    wx.uploadFile({
      url:'http://localhost:8080/test/add-goods', //仅为示例
      filePath: imgurl,//要上传文件资源的路径
      name: 'file',//文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容
      //在Java后台的action中主要声明,见下面的服务器代码
      formData: {//HTTP 请求中其他额外的 form data
      //goods要以字符串的进行传输
		goods:JSON.stringify(e.detail.value),
		user:nickname
		
	  },
      success: function (res) {
        var data = res.data
        console.log(res)
        wx.showModal({
          title: '添加成功',
          content: '是否返回首页',
          success: function (res) {
            if (res.confirm) {
              wx.switchTab({
                url: '/page/component/index',
              })
            }
          }
        })
      },
  1. 服务器端通过struct接受,在action类中要实现fileFileName,fileContentType大码如下:
private File file;
private String fileFileName;
private String fileContentType;
实现getter和setter方法
.......
public String goods() throws IllegalStateException, IOException, ServletException{	
		req.setCharacterEncoding("UTF-8");
		String path = ServletActionContext.getServletContext().getRealPath("/upload");
		//得到文件途径,在Tomcat服务器的文件中 、完成文件上传的操作
//		 System.out.println(path);
        //创建一个服务器端的文件
 //    fileFileName是文件名
        File dest = new File(path,fileFileName);
        //把文件拷入到path+fileFileName对应路径的文件中
        FileUtils.copyFile(file,dest);
        //由于微信端的formdate是字符数类型,所以要转换成json
        Gson gson = new Gson();
        Map<String, Object> map = new HashMap<String, Object>();
        map = gson.fromJson(goods, map.getClass());
        //输出map如下
 //{"goods_name":"w","goods_category":"ww","market_price":"ww","store_count":"www","store_des":"www"}
       
//        System.out.println(map.get("goods_name"));
		return "null";
	}

本文的图片上传是基于struct的框架,若有错误请留言笔者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
微信小程序上传图片功能是指在微信小程序中,用户可以选择图片文件并将其上传到后台服务器或云存储等位置。该功能在许多小程序中被广泛使用,例如社交应用、电商应用等。下面是实现微信小程序上传图片功能的一种方式: 首先,需要在小程序的页面中添加一个按钮,用于触发选择图片的操作。用户点击按钮后,可以调用微信小程序提供的wx.chooseImage方法,打开系统相册或拍照功能,供用户选择图片文件。选择完毕后,可以获取到一个临时文件路径。 然后,在选择图片成功的回调函数中,可以调用微信小程序提供的wx.uploadFile方法,将选择的图片文件上传到后台服务器或云存储。在uploadFile方法中,需要指定上传的URL地址、文件路径、文件名等参数。上传过程中,可以通过监听上传进度的回调函数,实时获取上传进度,并在页面中展示上传进度条。 接着,后台服务器或云存储接收到上传的图片文件后,可以进行相关的处理,例如存储到数据库或云存储中,并返回处理结果给小程序。小程序可以在上传成功的回调函数中处理服务器返回的结果,例如展示上传成功的提示信息、刷新页面等。 总之,微信小程序上传图片功能可以通过调用微信小程序提供的API,结合后台服务器或云存储的处理逻辑实现。通过选择图片、上传文件和处理结果等步骤,用户可以方便地上传图片并在小程序中进行相关操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值