写这个随笔的目的是想让遇到这个坑的人少点时间去填坑

先附上小程序前端和java端代码

  1. startUpload: function(){
  2. wx.chooseImage({
  3. success: function (res) {
  4. var tempFilePaths = res.tempFilePaths
  5. console.log(tempFilePaths)
  6. wx.uploadFile({
  7.  url: 'http://localhost:8080/upload/fileUpload' , //仅为示例,非真实的接口地址
  8. filePath: tempFilePaths[0],
  9. name: "file",
  10. header: {
  11. "Content-Type": "multipart/form-data"
  12. },
  13. formData: {
  14. "user": "test",
  15. },
  16. success: function (res) {
  17. var data = res.data
  18. console.log(data)
  19. //do something
  20. }
  21. })
  22. }

java后端代码:

  1. package com.contoller;
  2. import java.io.BufferedOutputStream;
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.util.UUID;
  6. import javax.servlet.http.HttpServletRequest;
  7. import org.apache.commons.io.FileUtils;
  8. import org.apache.commons.lang3.StringUtils;
  9. import org.slf4j.Logger;
  10. import org.slf4j.LoggerFactory;
  11. import org.springframework.beans.factory.annotation.Value;
  12. import org.springframework.web.bind.annotation.PostMapping;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14. import org.springframework.web.bind.annotation.RequestParam;
  15. import org.springframework.web.bind.annotation.RestController;
  16. import org.springframework.web.multipart.MultipartFile;
  17. import com.tool.FileUtil;
  18. @RestController
  19. @RequestMapping("/upload")
  20. public class UploadFileContoller {
  21. private static final Logger LOG = LoggerFactory
  22. .getLogger(UploadFileContoller.class);
  23. @PostMapping("/fileUpload")
  24. public String uploadMusicFile(HttpServletRequest request,@RequestParam("file")MultipartFile[] files){
  25. LOG.info("进入上传...");
  26. String uploadPath="E:/pic/";//存放到本地路径(示例)
  27. if(files!=null && files.length>=1) {
  28. BufferedOutputStream bw = null;
  29. try {
  30. String fileName = files[0].getOriginalFilename();
  31. //判断是否有文件
  32. if(StringUtils.isNoneBlank(fileName)) {
  33. //输出到本地路径
  34. File outFile = new File(uploadPath + UUID.randomUUID().toString()+ FileUtil.getFileType(fileName));                    LOG.info("path=="+uploadPath + UUID.randomUUID().toString()+ FileUtil.getFileType(fileName));                                        FileUtils.copyInputStreamToFile(files[0].getInputStream(), outFile);                }            } catch (Exception e) {                e.printStackTrace();            } finally {                try {                    if(bw!=null) {bw.close();}                } catch (IOException e) {                    e.printStackTrace();                }            }        }return "success";}}
  1. public static String getFileType(String filename){
  2. if(filename.endsWith(".jpg") || filename.endsWith(".jepg")){
  3. return ".jpg";
  4. }else if(filename.endsWith(".png") || filename.endsWith(".PNG")){
  5. return ".png";
  6. } else{
  7. return "application/octet-stream";
  8. }
  9. }

代码中标红色的这个地址,注意,如果在本地调试的时候是绝对不能访问的,一定是要线上的地址,也就是服务器的地址。比如你本地的地址为192.168.0.1 后面的参数就不写了,那你这边就要把这个地址改为服务器地址,然后把整个程序打包部署到服务器上,

前端访问服务器的地址,才能上传成功。

参考网址:https://blog.csdn.net/time512/article/details/80241629

转载于:https://www.cnblogs.com/jpc123/p/9072213.html

微信小程序之图片上传之巨坑相关推荐

  1. php微信小程序多图上传,tp5实现微信小程序多图片上传到服务器功能

    最近在做一个教育类的小商城的微信小程序,用到了上传多个图片文件到服务器端,这里做一个讲解,希望对大家有所帮助. 1,小程序端: 在wxml文件中: 删除 点击上传作业 在js文件中: Page({ / ...

  2. uniapp 微信小程序开发 图片上传压缩

    uniapp 微信小程序开发 图片上传压缩 安卓上传图片并压缩 思路 全部代码 安卓上传图片并压缩 由于后端接口对图片的大小有限制,所以在上传图片是需要压缩处理: uni.chooseImage({c ...

  3. 微信小程序 多图片上传 支持预览 删除 设置数量上限

    github地址: https://github.com/Volcano-Yang/miniprogram-picture-upload Miniprogram-Picture-Upload 努力帮助 ...

  4. 【微信小程序】图片上传组件“mp-uploader“(weui)

    使用示例   wxml <mp-uploader files="{{files}}" max-count="{{maximgs}}" max-size=& ...

  5. 微信小程序 删除服务器图片,微信小程序实现图片上传放大预览删除代码

    本文实例为大家分享了微信小程序图片上传放大预览的具体代码,供大家参考,具体内容如下 image.js代码: = 9) { this.setData({ lenMore: 1 }); setTimeou ...

  6. 微信小程序多图片上传全栈实战

    本篇教程技术栈:springBoot(Java后端)+  微信小程序.完整的图片上传教程. 页面截图,点击图片右上角按钮可以删除图片. 1.图片上传需要使用wx.uploadFile(Object o ...

  7. 微信小程序之图片上传、多图上传、头像上传、头像获取、图片上传失败问题解决

    小程序用户授权获取用户头像,需点击才可以让用户选择是否授权. 图片上传失败问题解决 图片上传 一定要记得修改合法域名,不然会失败,而且找不到报错信息哟!并且域名采用 https 点击,用户授权,获取用 ...

  8. 微信小程序实现图片上传(清晰版)

    在wxml文件中添加一个按钮和一个image标签用于显示上传的图片 <view><button bindtap="chooseImage">选择图片< ...

  9. 微信小程序自定义图片上传组件

    实现功能: 点击上传按钮可上传图片,并且可定义最多可上传的图片数量.限制图片的大小.类型和来源. 点击图片可预览图片. 点击删除按钮可删除图片. <!-- image-upload.wxml - ...

最新文章

  1. AI一分钟 | 特斯拉官方回应致死事故:鉴定报告尚不完整
  2. Linux的目录结构和头文件相关;哪里找- sys/types.h, sys/stat.h
  3. linux kref详解
  4. 深入学习SAP UI5框架代码系列之一:UI5 Module的懒加载机制
  5. 360加固一键脱壳工具2020_如何脱壳加固过的Apk并利用其API“走近数据库”
  6. Hadoop2.6集群动态添加和删除数据节点
  7. TensorFlow笔记(2) 常量与变量
  8. 在 GitHub 上创建一个 Swift 包:其实一点也不简单
  9. php怎么跟小程序链接,小程序的链接怎么提取?
  10. python UDP Socket编程
  11. Windows阿帕奇apache服务器安装(httpd)
  12. 自己制作深度学习数据集教程
  13. 删除字符串中的元音字母
  14. [NOI2002]贪吃的九头龙(树形dp)
  15. AI基础原理篇(一)
  16. 苹果seo_上海网站seo优化怎样理解
  17. SpringBoot+Dubbo整合
  18. SuperMap GIS 8C(2017) 产品白皮书
  19. _variant_t与其他数据类型的转换
  20. 计算机原理论文2000字,计算机原理论文_计算机论文3000字_对计算机的认识论文...

热门文章

  1. 第一个.NetCore 2.0程序
  2. c++之SQLite的增删改查
  3. Java面试重点项目推荐,吃透15个项目五个offer拿到手软 轻松应对2022春招
  4. 2022东南大学916复试时间轴
  5. [海豹海边爆]Daimayuan554
  6. Linux下电骡aMule Kademlia网络构建分析2
  7. python清空windows系统剪切板数据
  8. 2012 年3月31号
  9. Echarts -- graphic 实现自定义图片/文字
  10. 产品经理只靠野蛮生长,容易遇到什么坑?