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

springboot3+vue3融合项目实战-大事件文章管理系统-本地存储及阿里云oss程序集成

@RestController
public class FileUploadController {@PostMapping("/upload")public Result<String> upload(MultipartFile file) throws Exception {//把文件的内容存储到本地磁盘上String originalFilename=file.getOriginalFilename();//保证文件的名字是唯一的,从而防止文件覆盖String filename= UUID.randomUUID().toString()+originalFilename.substring(originalFilename.lastIndexOf("."));file.transferTo(new File("C:\\Users\\lii\\Desktop\\files\\" + filename));return Result.success(url);}
}

以上实现了本地存储,然后我们在阿里云上找到阿里云程序代码示例并作细节更改
新建aliossutil类

在这里插入图片描述
上面的要换成自己的
代码如下:

public class AliOssUtil {// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。private static final String ENDPOINT = "https://oss-cn-beijing.aliyuncs.com";// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。//EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();private static final String ACCESS_KEY_ID = "LTAI5tLYFkHss4PubyfjfE61";private static final String ACCESS_KEY_SECRET = "96jnmP1rGAuW1HdDgOSbQhKPOkNKp0";// 填写Bucket名称,例如examplebucket。private static final String BUCKET_NAME = "big-event2587";public static String uploadFile(String objectName, InputStream in) throws Exception {// 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。objectName = "001.png";// 填写Bucket所在地域。以华东1(杭州)为例,Region填写为cn-hangzhou。String region = "cn-hangzhou";// 创建OSSClient实例。OSS ossClient = new OSSClientBuilder().build(ENDPOINT, ACCESS_KEY_ID, ACCESS_KEY_SECRET);String url = "";try {// 填写字符串。String content = "Hello OSS,你好世界";// 创建PutObjectRequest对象。PutObjectRequest putObjectRequest = new PutObjectRequest(BUCKET_NAME, objectName, new FileInputStream("C:\\Users\\lii\\Desktop\\files\\001.png"));// 如果需要上传时设置存储类型和访问权限,请参考以下示例代码。// ObjectMetadata metadata = new ObjectMetadata();// metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard.toString());// metadata.setObjectAcl(CannedAccessControlList.Private);// putObjectRequest.setMetadata(metadata);// 上传字符串。PutObjectResult result = ossClient.putObject(putObjectRequest);//url组成:https://bucketname.endpoint/objectnameurl = "https://"+BUCKET_NAME+"."+ENDPOINT.substring(ENDPOINT.lastIndexOf("/")+1)+"/"+objectName;} catch (OSSException oe) {System.out.println("Caught an OSSException, which means your request made it to OSS, "+ "but was rejected with an error response for some reason.");System.out.println("Error Message:" + oe.getErrorMessage());System.out.println("Error Code:" + oe.getErrorCode());System.out.println("Request ID:" + oe.getRequestId());System.out.println("Host ID:" + oe.getHostId());} catch (ClientException ce) {System.out.println("Caught an ClientException, which means the client encountered "+ "a serious internal problem while trying to communicate with OSS, "+ "such as not being able to access the network.");System.out.println("Error Message:" + ce.getMessage());} finally {if (ossClient != null) {ossClient.shutdown();}}return url;}
}

接着对FileUploadController进行更改

@PostMapping("/upload")public Result<String> upload(MultipartFile file) throws Exception {//把文件的内容存储到本地磁盘上String originalFilename=file.getOriginalFilename();//保证文件的名字是唯一的,从而防止文件覆盖String filename= UUID.randomUUID().toString()+originalFilename.substring(originalFilename.lastIndexOf("."));//file.transferTo(new File("C:\\Users\\lii\\Desktop\\files\\" + filename));String url=AliOssUtil.uploadFile(filename,file.getInputStream());return Result.success(url);}

相关文章:

  • Linux操作系统的优势官方开发App应用程序有哪些优缺点
  • Java进阶之新特性
  • 中科视界,赋能文化产业新世界——千眼狼高速摄像机、DIC测量系统亮相第二十一届中国(深圳)国际文博会
  • VMIC PMV-5565PIORC-21000超高速光纤反射内存硬件参考
  • Argo CD 详解:从 GitOps 到持续交付的完整实践
  • Appium+python自动化(二)- 环境搭建—下
  • 鸿蒙 Initiated Worker with invalid NODE_OPTIONS env variable
  • N-gram语言模型原理与实战教程
  • Issac Lab安装
  • java I/O
  • SQLSERVER数据库表分区学习(未在项目上使用)
  • 地信GIS专业关于学习、考研、就业方面的一些问题答疑
  • HCIP-AI培养计划,成为新时代AI解决方案架构高级工程师
  • 【Dify学习笔记】:dify通过ollama加载DeepSeek-R1-32B模型无法加载!终于解决了!!
  • DL00786-基于RTDETR的水稻病害检测含完整数据集
  • C++函数封装和绑定
  • JWT了解
  • 有了CodeBuddy,10分钟上线MBTI测试网站
  • PiliPlus 非常好用的开源软件第三方B站哔哩哔哩 v1.1.3.35
  • upload-labs通关笔记-第18关文件上传之条件竞争
  • 做一个网站的建设过程/长沙做网站推广
  • 深圳做商城网站/怎么在网上推广产品
  • 潮州网站seo推广/目前常用的搜索引擎有哪些
  • 兰州市城乡建设局网站/网络推广公司名字
  • 南昌网站设计哪家专业好/舆情系统
  • 政府网站开发要求/关键词搜索量查询工具