阿里云对象存储OSS图片上传并回显

Java代码实现

引入依赖

       <!--  引入阿里云OSS依赖--><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>2.8.2</version></dependency>

controller层

只是练习所以实现代码直接写在了controller里

import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.PutObjectRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;import java.io.InputStream;
import java.util.UUID;@Controller
public class OssController {public static String ENDPOINT = "<yourENDPOINT>";public static String ACCESSKEYID = "<yourACCESSKEYID>";public static String ACCESSKEYSECRET = "<yourACCESSKEYSECRET>";public static String BUCKETNAME = "<yourOBUCKETNAME>";public static String PATH = "<yourOSS文件夹>/";@RequestMapping(value = "/upload")public String myphotoupload(MultipartFile file , Model model) {try {// 创建OSS实例OSSClient ossClient = new OSSClient(ENDPOINT, ACCESSKEYID, ACCESSKEYSECRET);// 获取上传的文件的输入流InputStream inputStream = file.getInputStream();// 获取文件名称String fileName = file.getOriginalFilename();// 在文件名称里面添加随机唯一值,使用UUID生成  把uuid生成里的-去掉String uuid = UUID.randomUUID().toString().replaceAll("-", "");fileName = uuid + fileName;// 拼接fileName  PATH是oss文件夹fileName = PATH + fileName;/*** 调用oss方法实现上传* 第一个参数 Bucket名称* 第二个参数 上传oss文件路径和名称 aa/bb/1.jpg* 第三个参数 上传文件的输入流*///ossClient.putObject(BUCKETNAME, fileName, inputStream);   用这种方式putObject上传,拼接的url是下载!!!//ossClient.shutdown();PutObjectRequest putObjectRequest = new PutObjectRequest(BUCKETNAME, fileName, inputStream);ossClient.putObject(putObjectRequest);// 关闭ossClientossClient.shutdown();// 把上传到oss的路径返回// 需要将路径手动拼接出来,https://xxxxxx.oss-cn-shanghai.aliyuncs.com/edu/avatar/girl.jpgString url = "https://"+ BUCKETNAME + "." + ENDPOINT + "/" + fileName;System.out.println(url);model.addAttribute("url", url);return "demo";//demo.html} catch (Exception e) {e.printStackTrace();model.addAttribute("url","");return "demo";}}}

页面

上传页面

<form action="/photoupload" method="post" enctype="multipart/form-data"><input type="file" name="file"  required/><input type="submit" value="提交">
</form>
回显
<img th:src="${url}" th:width="100px" th:high="100px"/>

阿里云对象存储OSS图片上传并回显相关推荐

  1. 阿里云对象存储OSS文件上传

    阿里云oss地址: 对象存储OSS_云存储服务_企业数据管理_存储-阿里云阿里云对象存储OSS是一款海量.安全.低成本.高可靠的云存储服务,提供12个9的数据持久性,99.995%的数据可用性和多种存 ...

  2. 微信小程序基于腾讯云对象存储的图片上传

    在使用腾讯云对象存储之前,公司一直使用的是传统的FTP的上传模式,而随着用户量的不断增加,FTP所暴露出来的问题也越来越多,1.传输效率低,上传速度慢.2.时常有上传其他文件来攻击服务器,安全上得不到 ...

  3. 阿里云对象存储之文件上传

    第一步:创建对象存储 配置如下:引入依赖 <!--springboot的web开发依赖--><dependency><groupId>org.springframe ...

  4. spring boot上传阿里云对象存储OSS快速上手(一、控制台简介)

    代码实现请看下一篇: spring boot上传阿里云对象存储OSS快速上手(二.代码实现,复制粘贴可用) 简介: 1.阿里云对象存储OSS其实就是一个文件存储的服务 2.在我们的开发过程中会遇到类似 ...

  5. 如何结合PICgo,Typora以及阿里云对象存储OSS搭建自己图床写博客

    如何利用阿里云对象存储OSS搭建自己图床写博客 1.购买阿里云 购买链接 登录阿里云–>控制台–>对象存储OSS–购买 购买的时候可以选择按月付费一月一元的,也可以年费9元的,40GB作为 ...

  6. 阿里云对象存储OSS与文件存储NAS的区别

    一.简介 应用场景:选择一款存储产品,面向文档数据的存取,不会涉及到数据处理. 产品选型主要从OSS和NAS中选择一款,满足文档存储的需求. 二.NAS优缺点 NAS 是一种采用直接与网络介质相连的特 ...

  7. 阿里云对象存储OSS存储照片

    版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 概述 OSS可用于图片.音视频.日志等海量文件的存储.各种终端设备.Web网站程序.移动应用可 ...

  8. 坑!阿里云对象存储OSS收费细则不只是存储还有其他扣费项

    阿里云对象存储OSS怎么收费?以为只收取存储费用,不只是存储费还有流量.跨区域复制.流量费.请求费.数据处理费用.对象标签费用.传输加速费用等,快看看别让钱花得不清不楚,云吞铺子来详细说下阿里云对象存 ...

  9. 小白篇:阿里云 对象存储 OSS

    阿里云 对象存储 OSS   为了解决海量数据存储与弹性扩容,项目中我们采用云存储的解决方案- 阿里云OSS. 1.打开阿里云官方网站:https://www.aliyun.com/ 2.注册阿里云账 ...

最新文章

  1. 用Python让蔡徐坤在我的命令行里打篮球!|附完整代码
  2. linux安装emc的多路径软件,linux (centos)安装EMCPower多路径软件
  3. 看我用汉语编程(汉语Visual Basic编程软件发布)
  4. IOS 获取缓存目录文件大小并清除
  5. CodeForce 2A —— Winner
  6. Node Version Manager--NodeJS的多版本管理工具--轻松实现多个版本的NodeJS的管理开发
  7. 安卓抓包软件_你们要的抓包神器!以及抓包原理
  8. 查询hdfs的相对路径
  9. 阿里、腾讯双双辟谣:云计算魅力彰显
  10. MyEclipse自定义JSP模板
  11. 植物大战僵尸花瓶终结者(砸罐子)无尽模式47波通关小技巧攻略
  12. 公众号网课搜题API系统对接教程
  13. “爆炸图!“ArcGIS中制作一张好看的爆炸分析图(附练习数据)
  14. 尝试破解使用网络验证的小软件
  15. 数字转换成英文 金额转成英文大写
  16. 可闭环、可沉淀、可持续的企业级数据赋能体系
  17. 计算机联锁系统可靠性,计算机联锁系统的可靠性和安全性比较
  18. layui 搜索 重置 自动刷新
  19. Cocos2d-x 3.0 开发(九)使用Physicals代替Box2D和chipmunk
  20. Printing 1 to 1000 without loop or conditionals

热门文章

  1. 比chatgpt稍逊的ai问答网站phind,专用于编写代码
  2. 树莓派3b+和 intel movidius 神经元计算棒2代 跑yolo v3 tiny
  3. Laplacian of Gaussian公式的英文推导过程
  4. 张亚勤功成身退,人生继续硬核
  5. 26.什么是梯度爆炸
  6. CAN总线基础知识点
  7. 淘宝旺旺号转userid 和 uid 的接口方法
  8. Python之解决tkinter.PhotoImage不显示图片的问题 Python3
  9. struct所占的内存
  10. 2020icpc小米决赛K