微信小程序上传文件到java服务器,有完整代码,保姆级,直接复制可用

微信小程序项目需要用户选择文件上传文件到服务器,折腾了好大一会,参考了网上的代码,并略微修改,方便自己,也方便别人,记录下来

1.微信小程序代码

.wxml

  <view class="usermotto">
    <text class="user-motto" bindtap="saveFile">{{motto}}</text>
  </view>

.js

saveFile() {
    wx.chooseMedia({
      count: 1, // 可选文件数量。因为是头像上传,只一个文件就可
      mediaType: ["image"], // 文件类型:这里只是图片,其他使用看官网
      success: res => {
        this.uploadFile(res.tempFiles[0]); // 返回的数据里有我们后面上传需要的文件,保存下来
      },
      fail: err => {
        console.log(err, "personal.js >>>> 个人资料 上传头像")
      }
    })
  },
  uploadFile(file) {
      //console.log(file.tempFilePath);
    wx.uploadFile({
      filePath: file.tempFilePath, // 上一步操作中带过来的文件
      name: 'file', // 接口中要求的formData类型数据的参数
      url: 'http://localhost:8080/handle-video/common/uploadFile', // 接口
      formData: { // 其他数据类型的参数
        code: '',
        type: ''
      },
      success: res => {
        console.log(res,'上传成功');
      },
      fail: err => {
        console.log(err, 'personal.js >>>> 个人资料')
      }
    })

2.java代码

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

@RestController
@RequestMapping("/handle-video/common")
public class CommonController {


    @RequestMapping("/uploadFile")
    public String uploaddFie(MultipartFile file){

        return file.getOriginalFilename();

    }
}

参考文档1:微信上传 wx.chooseMedia和wx.uploadFile使用,java springboot后端跑通_老饼干的博客-CSDN博客

参考文档2:https://www.jianshu.com/p/49227427d145

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将微信小程序中的图片传到Java后端,可以采用如下步骤: 1. 在小程序中选择需要上传的图片,并将其转换为base64编码格式。 2. 通过微信小程序API将base64编码的图片数据传输到后端服务器。 3. 在Java后端中接收base64编码的图片数据,并将其转换为图片文件。 4. 将转换后的图片文件存储到服务器本地或云存储中。 以下是一个简单的Java代码示例,用于将base64编码的图片数据转换为图片文件并上传到服务器: ``` import java.io.*; public class Base64ImageDecoder { public static void decode(String base64ImageString, String outputPath) { try { byte[] imageBytes = javax.xml.bind.DatatypeConverter.parseBase64Binary(base64ImageString); InputStream in = new ByteArrayInputStream(imageBytes); BufferedImage image = ImageIO.read(in); ImageIO.write(image, "jpg", new File(outputPath)); } catch (IOException e) { e.printStackTrace(); } } } ``` 在上述示例中,`decode`方法接收两个参数:base64编码的图片数据和图片文件输出路径。该方法会先将base64编码的图片数据解码为二进制数据,然后使用Java的`ImageIO`类将二进制数据转换为图片文件,并将其保存到指定的输出路径中。 在实际应用中,你需要将该代码集成到你的Java后端服务中,并根据具体的业务逻辑进行调用。同时,你还需要根据你的系统环境和需求选择适合的图片存储方式,例如使用本地文件系统或云存储服务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值