当前位置: 首页 > news >正文

微网站广州外贸网站设计

微网站,广州外贸网站设计,专业的营销型网站建设价格,怎么做企业网站仿站🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

🌟 前言

欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍

  • 🤖 洛可可白:个人主页

  • 🔥 个人专栏:✅前端技术 ✅后端技术

  • 🏠 个人博客:洛可可白博客

  • 🐱 代码获取:bestwishes0203

  • 📷 封面壁纸:洛可可白wallpaper

在这里插入图片描述

文章目录

  • Spring Boot中实现图片上传功能的两种策略
    • 摘要
    • 1. 保存到阿里云OSS
      • 1.1 依赖添加
      • 1.2 配置OSS客户端
      • 1.3 控制层实现
    • 2. 保存到本地文件系统
      • 2.1 控制层实现
    • 🎉 结语

Spring Boot中实现图片上传功能的两种策略

摘要

在现代Web应用程序中,图片上传是一个常见的功能。本文将介绍如何在Spring Boot项目中实现图片上传,包括将图片保存到阿里云OSS和本地文件系统两种方法。我们将通过代码示例和详细注释,帮助读者理解这两种方法的实现过程。

1. 保存到阿里云OSS

1.1 依赖添加

首先,我们需要在项目的pom.xml文件中添加阿里云OSS的SDK依赖,以及用于文件操作的commons-iocommons-beanutils库。

<!-- 阿里云OSS SDK -->
<dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.16.1</version>
</dependency>
<!-- 文件操作工具类 -->
<dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.11.0</version>
</dependency>
<dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.4</version>
</dependency>

1.2 配置OSS客户端

创建一个工具类uploadUtil,用于配置OSS客户端并实现图片上传功能。我们需要设置OSS的域名、访问密钥ID和密钥,以及OSS的地域节点。

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import org.apache.commons.io.FilenameUtils;
import org.springframework.web.multipart.MultipartFile;import java.io.IOException;
import java.util.UUID;public class UploadUtil {// OSS域名,注意替换为实际的域名public static final String ALI_DOMAIN = "https://czh123-text.oss-cn-guangzhou.aliyuncs.com";// 上传图片到OSS的方法public static String uploadImage(MultipartFile file) throws IOException {// 获取原始文件名和扩展名String originalFilename = file.getOriginalFilename();String ext = "." + FilenameUtils.getExtension(originalFilename);// 生成新的文件名,包含UUID以避免重名String uuid = UUID.randomUUID().toString().replace("-", "");String fileName = uuid + ext;// OSS配置信息String endpoint = "http://oss-cn-guangzhou.aliyuncs.com"; // 地域节点String accessKeyId = "LTAI5tGOUpuc5EwDcJ9"; // 访问密钥IDString accessKeySecret = "fYy0DdFrrFBwky"; // 访问密钥Secret// 创建OSS客户端OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);// 上传文件到OSSossClient.putObject("czh123-text", fileName, file.getInputStream());// 关闭客户端ossClient.shutdown();// 返回图片的URLreturn ALI_DOMAIN + fileName;}
}

1.3 控制层实现

在控制器中,我们创建一个upImg方法,用于处理图片上传请求。该方法调用uploadUtil类中的uploadImage方法,并返回图片的URL。

@PostMapping("/upImg")
public String upImg(MultipartFile file) throws IOException {return UploadUtil.uploadImage(file);
}

2. 保存到本地文件系统

2.1 控制层实现

另一种方法是将图片保存到本地文件系统。在控制器中,我们创建一个upload方法,用于处理上传请求并将图片保存到指定的本地目录。

@PostMapping("/upload")
public String upload(MultipartFile file) {if (file.isEmpty()) {return "图片为空";}// 获取原始文件名和扩展名String originalFilename = file.getOriginalFilename();String fileNamePrefix = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());String fileNameSuffix = "." + originalFilename.split("\\.")[1];// 生成新的文件名String fileName = fileNamePrefix + fileNameSuffix;// 获取项目根目录的绝对路径ApplicationHome applicationHome = new ApplicationHome(this.getClass());String pre = applicationHome.getDir().getParentFile().getParentFile().getAbsolutePath() +"/src/main/resources/static/images/";String path = pre + fileName;try {// 将上传的文件保存到本地file.transferTo(new File(path));// 返回文件的本地路径return path;} catch (IOException e) {e.printStackTrace();}return "图片上传失败";
}

🎉 结语

本文介绍了在Spring Boot项目中实现图片上传的两种方法:保存到阿里云OSS和保存到本地文件系统。通过这两种方法,开发者可以根据项目需求和资源情况选择合适的图片存储策略。阿里云OSS提供了高可用性和扩展性,适合需要远程访问和高并发的场景;而本地文件系统则适合小型项目或对数据安全性要求不高的场景。在实际开发中,开发者应根据实际情况灵活选择。

感谢你的访问,期待与你在技术的道路上相遇!👋🌟🚀

http://www.yayakq.cn/news/659703/

相关文章:

  • 汕头汽车网站建设ui设计学校
  • 网站切片 做程序旅行社英文模板网站
  • 咸阳兼职做网站晋中住房与城乡建设厅网站
  • 什么都不会怎么做网站江苏广泽建设公司网站
  • 网站建设项目技术百度店铺怎么开通
  • 长沙销售公司 网站wordpress 建网站视频
  • 电商网站商品详情页网站制作一条龙全包
  • 织梦网站404怎么做沈阳网站制作思路网络
  • 网站商品展示设计企业seo排名外包
  • 做销售网站的好做么企业网站建设规划的基本原则
  • 网站设计任务公司网站开发费计入
  • go 做视频网站柳州市网站制作公司
  • 网站建设中 模板 下载商城网站建设精英
  • 企业公司建网站的步骤网站开发使用api对seo
  • 南京做网站品牌设计网页的软件
  • 有回定ip怎么做网站怎样把网站做成app
  • 网站程序和空间区别梧州最权威的综合性新闻门户网站
  • 百度做网站推广电话广电如何做视频网站
  • 如何把网站做的和别人一样吗大连专业制作网站
  • 赤峰网站建设公司网站建设哪些公司
  • 电子商务网站建设设计原则大连网建会
  • 普陀网站建设推广wordpress 去掉 自豪
  • 新闻资讯型网站开发网页效果图设计教程
  • wordpress没有仪表盘广州:推动优化防控措施落地
  • 网站开发 估算 excel站长工具中文
  • 北京seo网站荷花直播免费直播下载安装手机版
  • 海拉尔网站制作自己开平台怎么弄啊
  • 站长工具 站长之家装潢公司网站模块
  • 网站开发与设计入门哈尔滨如何做网站推广优化
  • 龙岗网站维护网站客户流失