Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SpringBoot开发案例之微信小程序文件上传

SpringBoot开发案例之微信小程序文件上传

原创
作者头像
小柒2012
发布于 2018-03-30 10:14:15
发布于 2018-03-30 10:14:15
2.8K3
举报
文章被收录于专栏:IT笔记IT笔记

前言

最近在做一个口语测评的小程序服务端,小程序涉及到了音频文件的上传,按理说应该统一封装一个第三方上传接口服务提供给前段调用,但是开发没有那么多道理,暂且为了省事就封装到后端服务中去了。

这篇文章需要用到前面所讲的知识点《SpringBoot开发案例之配置静态资源文件路径》,请仔细阅读如何自定义静态资源路径,最好做到服务跟文件分离。

文件上传

前端小程序代码
代码语言:txt
AI代码解释
复制
wx.uploadFile({
      url: 'https://example.weixin.qq.com/upload', //示例,非真实的接口地址
      filePath: '/static/itstyle.mp3',//默认小程序内音频路径,也可以自己上传
      name: 'file',
      header: {
        "Content-Type": "multipart/form-data"
      },
      formData:
      {
        userId: 12 //附加信息
      },
      success: function (res) {
        console.log(res);
      },
      fail: function (res) {
        console.log(res);
      },
      complete: function (res) {

      }
    })
  },
后端上传代码
代码语言:txt
AI代码解释
复制
/**
 * 口语测试
 * 创建者 柒
 * 创建时间	2018年3月13日
 */
@Api(tags ="口语测试接口")
@RestController
@RequestMapping("/test")
public class TestController {
	
	private final static Logger LOGGER = LoggerFactory.getLogger(WechatController.class);
	
	@Value("${web.upload.path}")
	private String uploadPath;
	
	@ApiOperation(value="上传文件(小程序)")
	@PostMapping("/fileUpload")
	public String upload(HttpServletRequest request, @RequestParam("file")MultipartFile[] files){
		LOGGER.info("上传测试");
		//多文件上传
        if(files!=null && files.length>=1) {
            BufferedOutputStream bw = null;
            try {
                String fileName = files[0].getOriginalFilename();
                //判断是否有文件(实际生产中要判断是否是音频文件)
                if(StringUtils.isNoneBlank(fileName)) {
                    //创建输出文件对象
                    File outFile = new File(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";
	}
}

测试服务

小程序服务端请求必须HTTPS,如何配置,可以参考《阿里云证书服务》配置。

启动服务,执行小程序上传方法,监控前台返回参数,如果没有错误(显然没错误),查看服务器目录/home/file 下是否有相应的文件。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
3 条评论
热度
最新
看起来来不错, Spring Boot 的代码 和我印象中又臭又长的代码不太一样。
看起来来不错, Spring Boot 的代码 和我印象中又臭又长的代码不太一样。
回复回复点赞举报
对微信小程序很感兴趣,有时间就会来看作者的文章的
对微信小程序很感兴趣,有时间就会来看作者的文章的
回复回复点赞举报
有时候还是需要上传文件这个功能的
有时候还是需要上传文件这个功能的
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
SpringBoot开发案例之微信小程序录音上传
书接上回的《SpringBoot开发案例之微信小程序文件上传》,正常的业务流程是,口语测评需要学生通过前端微信小程序录入一段音频,通过调用第三方音频处理服务商进行评分,然后服务端对原始录音、标准录音以及评分信息进行存储,最终呈现给学生并用于复看以及复读。
小柒2012
2018/03/30
4.2K4
SpringBoot开发案例之微信小程序录音上传
Feign实现文件上传下载
Feign框架对于文件上传消息体格式并没有做原生支持,需要集成模块feign-form来实现。
编程随笔
2022/04/29
1.3K0
一起来学SpringBoot | 第十七篇:轻松搞定文件上传
文件上传和下载是 JAVA WEB中常见的一种操作,文件上传主要是 将文件通过IO流传输到服务器的某一个特定的文件夹下;刚开始工作那会一个上传文件常常花费小半天的时间,繁琐的代码量以及 XML配置让我是痛不欲生;值得庆幸的是有了 SpringBoot短短的几句代码就能实现文件上传与本地写入操作....
battcn
2018/08/03
9460
一起来学SpringBoot | 第十七篇:轻松搞定文件上传
Spring Boot中实现文件上传和下载功能示例
在Spring Boot中实现文件上传和下载功能是一个常见的需求,可以通过几个简单的步骤来完成。下面来介绍一下如何实现文件上传和下载。
用户7353950
2024/06/18
1.8K0
Spring Boot中实现文件上传和下载功能示例
小程序图片上传功能
 简单画一个页面,使用按钮调小程序默认的upload(page, path)方法,默认支持单次上传一张图片,可修改
用户10175992
2023/10/17
5610
小程序图片上传功能
springboot 上传下载图片
上传多张图片:(此处是用来配合 wangeditor用的. 当然, 稍作修改, 也可以用作他用) import com.fxtcn.gov.faq.util.JSONUtil; import com.google.common.base.Strings; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import
zcqshine
2018/05/11
2.8K0
大文件上传切片上传 vue java
使用vue+elementui进行前端开发, 实现在dialog中 带进度条的上传大文件页面
solate
2020/06/18
7K1
《SpringMVC从入门到放肆》十五、SpringMVC之上传文件
上一篇我们学习了数据分组校验,已经可以灵活的在项目中进行数据校验了,今天来学习SpringMVC的上传文件功能。相对来说SpringMVC的上传功能,还是比较简单的。
I Teach You 我教你
2019/07/02
4700
SpringBoot开发案例之配置静态资源文件路径
SpringBoot本质上是为微服务而生的,以JAR的形式启动运行,但是有时候静态资源的访问是必不可少的,比如:image、js、css 等资源的访问。
小柒2012
2018/03/30
2.5K2
SpringBoot开发案例之配置静态资源文件路径
SpringBoot解决文件上传,返回可访问路径
问题描述:SpringBoot项目中需要上传文件到当前服务器的磁盘(即物理地址),返回可访问的路径给前端。前端利用路径显示文件内容。 开发环境:SpringBoot2.0以上、JDK 1.8
全栈程序员站长
2022/08/15
1.9K0
springmvc文件上传/下载
需要导入fileupload依赖包 io的包 com.springsource.org.apache.commons.fileupload-1.2.0.jar com.springsource.org.apache.commons.io-1.4.0.jar
微醺
2019/01/17
1.7K0
微信小程序开发技巧总结(二) -- 文件的选取、移动、上传和下载
也为其提供了视频和图片的二合一接口,这个接口不建议调用,图片和视频的上传建议区分开。
Kindear
2020/02/23
2.2K0
wangEditor - 轻量级web富文本编辑器(可带图片上传)
通过后台编辑文章和图片,上传到前端界面,展示新闻消息模块。这个时候,需要一款简洁的编辑器,百度编辑器是最常用的一种,但是功能太过于复杂,而wangEditor - 轻量级web富文本编辑器,配置方便,使用简单。支持 IE10+ 浏览器,值得拥有。
王小婷
2018/08/02
3.2K0
wangEditor - 轻量级web富文本编辑器(可带图片上传)
SpringBoot Feign文件上传
写在前面 Feign 文件上传,与普通的Feign远程调用会有所不同,使用的时候需要注意。 客户端 <feign-form.version>3.0.3</feign-form.version> <!-- 文件上传 --> <dependency> <groupId>io.github.openfeign.form</groupId> <artifactId>feign-form</artifactId> <version>${feign-form.version}</version>
诺浅
2020/08/19
1.6K0
AJAX的post请求与上传文件
之前介绍了AJAX的get的请求方式与跨域请求,除此之外AJAX还可以进行异步的post请求,在使用post方式的请求时需要设置请求头,如下:
端碗吹水
2020/09/23
3.6K0
AJAX的post请求与上传文件
微信小程序+SpringBoot实现文件上传与下载
  在application.yml(根据个人情况,有的人可能用的properties)配置文件中添加如下参数:
别团等shy哥发育
2023/02/25
2.9K0
微信小程序+SpringBoot实现文件上传与下载
微信小程序语音同步智能识别的实现案例
在小程序的一些应用场景中,会有语音转文字的需求。原有的做法一般是先通过小程序的录音功能录下语音文件,然后再通过调用语音智能识别WebApi(比如百度云AI平台,科大讯飞平台)将语音文件转成文字信息,以上的做法比较繁琐且用户的体验性较差。 为解决此问题,微信直接开放了同声传译的插件,小程序作者可以直接使用该插件进行语音同声传译的开发。此文章将通过前后端整合应用的完整案例完成语音的实时转换,并将语音上传到服务端后台备份。
智慧zhuhuix
2020/08/14
3.4K0
微信小程序语音同步智能识别的实现案例
大文件上传与流下载
在现代网站中,越来越多的个性化图片,视频,去展示,因此我们的网站一般都会支持文件上传。今天我们以大文件上传和下载为主题来分享总结一下.
用户10501441
2024/11/24
3800
大文件上传与流下载
SpringBoot + Vue 前后端分离项目实现文件上传至本地以及文件下载功能
最近在开发一个 微信微信小程序的后台管理系统,在这个系统中遇到了一个需求,就是用户需要上传一个 Excel 文件到服务器端,服务器端对文件解析,然后将解析得到的数据存入数据库当中。
Gorit
2021/12/08
11.6K0
SpringBoot + Vue 前后端分离项目实现文件上传至本地以及文件下载功能
SpringBoot入门建站全系列(九)文件上传功能与下载方式
Spring对文件上传做了简单的封装,就是用MultipartFile这个对象去接收文件,当然有很多种写法,下面会一一介绍。
品茗IT
2019/08/12
1.2K0
推荐阅读
相关推荐
SpringBoot开发案例之微信小程序录音上传
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档