1.首先前端放入获取上传的组件
微信小程序uview组件:
https://www.uviewui.com/components/upload.html

vue所使用的element组件:
https://element.eleme.cn/#/zh-CN/component/upload

上面一个是微信小程序的上传,一个是普通浏览器的前端上传组件的代码出处。

后端我们需要一个阿里云的依赖,这个依赖是工具包用的。

    <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.10.2</version></dependency>

接下来需要配置yaml文件

aliyun:oss:file:endpoint: oss-cn-(区域:上海、北京等,用拼音表达,注意这个括号是不存在的).aliyuncs.comkeyId: 开通oss服务时生成的keyIdkeySecret: 开通oss服务时生成的keySecretdirName: 阿里云上传图片路径的文件名比如:/avatarbucketName: bucketName

这些去哪里获取,如何开通
(1)开通OSS服务
去阿里云打开oss管理控制台开通



然后创建Bucket存储空间



创建文件夹上传图片

在头像中,点击“AccessKey管理”进行RAM设置

选择使用子用户
创建用户组:

添加用户
添加用户到用户组
设置权限

获取子用户AccessKeyId,AccessKeySecret
这样就获取到了ymal所以的配置信息。
接下里就是后端程序代码和两个工具类:
上传方法:

    @Resourceprivate OSSUtils ossUtils;
    @PostMapping("/upload")public BaseResult upload(MultipartFile file)throws IOException{System.out.println("dadadadaad");InputStream is = file.getInputStream();String path = ossUtils.uploadToOSS(file);if (file.getSize()>1048576){return BaseResult.error("图片不得大于1M");}paths=path;return BaseResult.ok("上传成功",path);}


两个工具类:

package com.czxy.oss;import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;@Component
@ConfigurationProperties(prefix="aliyun.oss.file")
@Data
public class OSSProperties {private String endpoint;private String keyId;private String keySecret;private String dirName;private String bucketName;
}
package com.czxy.oss;import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;import javax.annotation.Resource;
import java.util.UUID;/*** @author 桐叔* @email liangtong@itcast.cn*/
@Component
public class OSSUtils {@Resourceprivate OSSProperties ossProperties;/*** 上传到OSS* @param file 上传文件* @return 上传后的路径*/public String uploadToOSS(MultipartFile file) {try {// 创建OSSClient实例。OSS ossClient = new OSSClientBuilder().build(ossProperties.getEndpoint(), ossProperties.getKeyId(), ossProperties.getKeySecret());//System.currentTimeMillis()  //毫秒值String name = UUID.randomUUID().toString().replace("-", "");        //32长度// 截取图片的扩展名   mm.jpgString[] arr = file.getOriginalFilename().split("\\.");// 路径String path =  ossProperties.getDirName() + "/" + name + "." + arr[1];// 上传图片ossClient.putObject(ossProperties.getBucketName(), path , file.getInputStream());// 关闭OSSClient。ossClient.shutdown();//https://czxy-lt.oss-cn-shanghai.aliyuncs.com/avatar/b9c4d0a19b1d48eb89d9ff61284f83d6.jpgreturn "https://"+ossProperties.getBucketName()+"."+ossProperties.getEndpoint()+"/" + path;} catch (Exception e) {throw new RuntimeException("上传OSS异常");}}}

其中微信小程序的前端代码与平时的vue不同,大家可以参考微信官方文档。

微信小程序/vue通过阿里云上传图片相关推荐

  1. 微信小程序上传阿里云OSS,返回204,400,403,405,解决方案

    目录 微信小程序上传阿里云 ==OSSAccessKeyId,policy,signature==如何获取呢? 配置Bucket跨域访问 配置外网域名到小程序的域名白名单 上传报错(返回400,403 ...

  2. 微信小程序录音直传阿里云OSS并语音识别

    前言 如题:做一个录音文字识别功能,知识点有三个,分别是微信小程序的录音功能.录音文件直传阿里云OSS.使用阿里云的录音文件识别接口返回识别后的文字 一.微信小程序录音 官方文档:微信小程序全局唯一的 ...

  3. Javaweb和微信小程序项目部署阿里云服务器总结(上)

    谈到微信小程序的java后台怎么部署在阿里云服务器上的问题,弯弯绕绕,好多坑,网上的博客资料也特别乱,博主也是在没有任何经验和指导下花了几天的工夫才完成的.这里为了方便大家不踩坑,总结了下整个流程和注 ...

  4. 微信小程序上传阿里云视频文件流程及代码

    为了微信小程序客服端实现自拍视频能够分享给多个好友,我们需要把小程序自拍的视频存储到服务器,而阿里云在性能和速度上比较不错,所以我们选择了阿里云作服务器. 第一步.微信小程序项目创建 1. 到http ...

  5. 微信小程序MQTT模拟器 阿里云物联网平台测试

    陈拓 chentuo@ms.xab.ac.cn 2019.09.27/2020.01.20 原文参考:微信小程序-MQTT模拟器 https://www.yuque.com/cloud-dev/iot ...

  6. 基于微信小程序+VUE+Springboot+Mysql的中小学生作业管理系统

    基于微信小程序+VUE+Springboot+Mysql的中小学生作业管理系统 ✌全网粉丝20W+,csdn特邀作者.博客专家.CSDN新星计划导师.java领域优质创作者,博客之星.掘金/华为云/阿 ...

  7. 微信小程序图片无法存入云开发数据库,求解决

    微信小程序图片无法存入云开发数据库,求解决 上传图片的js代码片段 上传图片的js代码片段 上传图片的js代码片段,觉得自己代码的没错,也能打印出来上传的图片地址,但是发现并没有存进数据库,求大神指点 ...

  8. 微信小程序+阿里物联平台+合宙Air724UG搭建无服务器物联系统(三)---微信小程序直连阿里物联平台AliIoT

    前一段时间集中设计系统整体方案,物联网平台搭建.小程序编写,硬件电路设计.SOC单片机程序开发,自己挖的坑太大了,填起来真是费劲啊!整个年假都用来填坑了,也没有时间编写博文,今天忙里偷闲集中整理一下开 ...

  9. 微信小程序实现腾讯云接口 图象识别

    微信小程序实现腾讯云接口 图象识别 注:操作环境:springboot+微信小程序 1.导入maven 腾讯云图象识别接口 jar包 <!-- 腾讯云文字识别接口--><depend ...

最新文章

  1. 实践教程 | TensorRT部署深度学习模型
  2. Drools解决积分问题
  3. SSD配置+训练VOC0712+训练自己的数据集
  4. 该如何高效实用Kotlin?看这一篇就够了!
  5. mysql8.0主从配置,MySQL 8.0主从服务器(Master-Slave)配置
  6. after you've written your business model
  7. 格式化字符串漏洞利用 二、格式化函数
  8. java 登陆微信获取好友列表_微信api接口,触发推送微信好友列表及返回
  9. Win10微软应用商店打不开/无响应/闪退/错误/无法加载的解决方法
  10. html实体注册商标,html 注册商标,html 注册商标代码
  11. 测试图片,视频 地址
  12. 【分享】ArcGIS实现分子分母等标注实用技巧
  13. 图森面试官| 图森未来首席科学家王乃岩:播下去的种子,早晚会开花
  14. delphi 调用 腾讯云短信
  15. 单人扑克游戏:地城恶棍的Python实现(附实现代码)
  16. C++PrimerPlus(第6版)中文版:Chapter16.4.6关联容器_setops.cpp
  17. c 语言实现多线程排序,在c中使用多线程快速排序
  18. for循环--下标越界导致死循环原因
  19. 为什么我的域名在某些地方不能访问,解析到127.0.0.1或者0.0.0.0?
  20. oracle设置会计科目管理器,系列之四:ORACLE EBS基础设置要点简介(E) - season的日志 - 网易博客...

热门文章

  1. Python爬取“爆款剧”——《三十而已》热评,并做可视化
  2. 【转】我们为什么要使用 Markdown
  3. 浅谈golang中的代理模式
  4. java lisp_AI编程:5种最流行的人工智能编程语言!
  5. nginx变量传递给php,php-从nginx将参数传递给auth_request模块
  6. 压缩比13为什么建议用92的油_马自达为啥能在13:1高压缩比下仍然使用92汽油
  7. python计算三阶行列式
  8. springboot大纲
  9. Photoshop脚本 批量生成各尺寸的iOS图标
  10. Gitlab CI/CD教程以及实战docker自动部署前端项目(全)