当前位置: 首页> 科技> 数码 > 24免费医生在线咨询男科_手机代理ip海外免费_最近国际新闻_线上渠道推广怎么做

24免费医生在线咨询男科_手机代理ip海外免费_最近国际新闻_线上渠道推广怎么做

时间:2025/7/9 22:37:02来源:https://blog.csdn.net/qq_63981644/article/details/143660611 浏览次数:0次
24免费医生在线咨询男科_手机代理ip海外免费_最近国际新闻_线上渠道推广怎么做

欢迎来到“雪碧聊技术”CSDN博客!

在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将不断探索Java的深邃世界,分享最新的技术动态、实战经验以及项目心得。

让我们一同在Java的广阔天地中遨游,携手提升技术能力,共创美好未来!感谢您的关注与支持,期待在“雪碧聊技术”与您共同成长!

目录

一、阿里云OSS

1、什么是阿里云?

2、什么是阿里云OSS?

3、使用第三方服务的通用思路

(1)准备工作

①注册阿里云(实名认证)

②充值

③开通对象存储服务(OSS)

④创建bucket(又叫存储空间,是存放文件的容器)

⑤获取AccessKey(秘钥)

4、参照官网的SDK编写入门程序

①导入依赖

②编写代码,实现文件上传

endpoint 的获取方式

accessKeyId 的获取方式

accessKeySecret的获取方式:目前无法查询了,忘了的话,就在创建一个accessKey。

bucketName 的获取方式

③运行效果

5、编写AliOssUtil工具类,在项目中使用

①该工具类的注意事项

②在项目中使用AliOssUtils工具类完成文件上传及url获取

③重启项目,查看效果

二、总结

结语


一、阿里云OSS

1、什么是阿里云?

        阿里云是阿里巴巴集团旗下全球领先的云计算公司,也是国内最大的云服务提供商。

注意:“云”,可以理解为互联网;“云服务”,可以理解为通过互联网获得的服务。

2、什么是阿里云OSS?

        OSS(Object Storage Service):对象存储服务。对象指的就是文件。

        是由阿里云提供的。

        通过OSS,我们可以通过网络随时存储和调用文本、图片、音频、视频等文件。

        有了OSS这种云服务,我们就不再需要将前端上传的文件存储到本地了,而是直接上传到阿里云上面。

3、使用第三方服务的通用思路

(1)准备工作

  • ①注册阿里云(实名认证)

        跳过。

  • ②充值

        跳过。学生不用充值,可以免费体验几个月。

  • ③开通对象存储服务(OSS)

        

        

  • ④创建bucket(又叫存储空间,是存放文件的容器)

  • ⑤获取AccessKey(秘钥)

        这个AccessKey(秘钥),是为了证明你是阿里云OSS的合法用户。以后从后端往阿里云OSS上传文件时,需要用到这个AccessKey。

        

4、参照官网的SDK编写入门程序

①导入依赖

由于我们用的是JDK17,因此需要额外导入下面那几个依赖。

        <!--阿里云oss依赖--><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.17.4</version></dependency><!--阿里云OSSjdk9以上版本所需要的额外依赖--><dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId><version>2.3.1</version></dependency><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version></dependency><dependency><groupId>org.glassfish.jaxb</groupId><artifactId>jaxb-runtime</artifactId><version>2.3.3</version></dependency>

②编写代码,实现文件上传

public class OSSTest01 {public static void main(String[] args) throws Exception {//必须的四大参数String endpoint = "https://oss-cn-beijing.aliyuncs.com";String accessKeyId = "你自己的accessKeyId ";String accessKeySecret = "你自己的accessKeySecret ";String bucketName = "你自己的bucket(存放文件的容器)";String objectName = "new01.gif";//将文件存入OSS时的名称String filePath = "C:\\Users\\jhj15\\Pictures\\new01.gif";//本地文件的路径//创建OSSClient实例OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);try{InputStream inputStream = new FileInputStream(filePath);ossClient.putObject(bucketName, objectName, inputStream);}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();}}}
}
  • endpoint 的获取方式

  • accessKeyId 的获取方式

  • accessKeySecret的获取方式:目前无法查询了,忘了的话,就在创建一个accessKey。
  • bucketName 的获取方式

③运行效果

5、编写AliOssUtil工具类,在项目中使用

package com.example.yyzxproject.utils;import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.util.UUID;/*** 阿里云 OSS 工具类*/
@Component //将该工具类交给spring的IOC容器管理,使用时直接注入即可
public class AliOSSUtils {private String endpoint = "https://oss-cn-beijing.aliyuncs.com";//这是北京,根据自己的来private String accessKeyId = "你自己的ID";private String accessKeySecret = "你自己的Secret";private String bucketName = "你自己的bucket";/*** 实现上传图片到OSS*/public String upload(MultipartFile file) throws IOException {// 获取上传的文件的输入流InputStream inputStream = file.getInputStream();// 避免文件覆盖String originalFilename = file.getOriginalFilename();//获取原文件的名称String fileName = UUID.randomUUID().toString() + originalFilename.substring(originalFilename.lastIndexOf("."));//上传文件到 OSSOSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);ossClient.putObject(bucketName, fileName, inputStream);//文件访问路径String url = endpoint.split("//")[0] + "//" + bucketName + "." + endpoint.split("//")[1] + "/" + fileName;// 关闭ossClientossClient.shutdown();return url;// 把上传到oss的路径返回}}

①该工具类的注意事项

  • 加了@Component注解,交给了Spring容器管理,使用时直接注入即可。

  • 形参只需要传入controller层接收到的MultipartFile对象即可。

  • 该工具类的方法中,会自动拼接存入图片的url路径并返回出来。

②在项目中使用AliOssUtils工具类完成文件上传及url获取

@Slf4j
@RestController
public class UploadController {@Autowiredprivate AliOSSUtils aliOSSUtils;@PostMapping("/upload")public ResultVo upload(MultipartFile image) throws IOException {log.info("文件上传,文件名:{}",image.getOriginalFilename());//调用阿里云OSS工具类进行文件上传String url = aliOSSUtils.upload(image);log.info("文件上传完成,文件访问的url:{}",url);return new ResultVo ("200", url);}}

③重启项目,查看效果

使用Postman发送一个Post请求,参数是一张图片。

二、总结

结语

以上就是文件上传的全部内容,以后项目中需要用到文件上传这个功能,直接复制上面的AliOssUtils工具类使用即可。

关键字:24免费医生在线咨询男科_手机代理ip海外免费_最近国际新闻_线上渠道推广怎么做

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: