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

网站实现互联网seo是什么意思

网站实现,互联网seo是什么意思,网站建设 坚持实用原则,阿里云邮箱企业版一、前言 有时在项目中需要使用一些存储系统来存储文件&#xff0c;那么当项目要接入obs作为存储系统时&#xff0c;就会利用obs来进行文件的上传下载&#xff0c;具体实现如下。 二、如何通过obs实现文件的上传下载&#xff1f; 1.添加相关的obs的maven依赖。 <dependency…

一、前言
有时在项目中需要使用一些存储系统来存储文件,那么当项目要接入obs作为存储系统时,就会利用obs来进行文件的上传下载,具体实现如下。

二、如何通过obs实现文件的上传下载?
1.添加相关的obs的maven依赖。

 <dependency><groupId>com.huaweicloud</groupId><artifactId>esdk-obs-java-bundle</artifactId><version>3.23.9</version></dependency>

2.配置obs客户端连接。

@Configuration  
@Data
public class OBSConfig {  @Value("${obs.accessKey}")  private String accessKey;  @Value("${obs.secretKey}")  private String secretKey;  @Value("${obs.endpoint}")  private String endpoint;  @Value("${obs.bucket}")private String bucketName;}  

3.在YAML添加obs配置。

obs:endpoint: http://xxxxxx:xxxxaccessKey: xxxxxxxxsecretKey: xxxxxxxxxxxbucket: my-bucket

4.定义obs工具类,代码如下:

import com.obs.services.ObsClient;
import com.obs.services.exception.ObsException;
import com.obs.services.model.CompleteMultipartUploadRequest;
import com.obs.services.model.CompleteMultipartUploadResult;
import com.obs.services.model.ObjectMetadata;
import com.obs.services.model.PutObjectRequest;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;import java.io.File;
import java.io.InputStream;
import java.util.UUID;@Component
public class ObsUtil {@Resourceprivate OBSConfig  oBSConfig;private ObsClient obsClient;public ObsClient getClient() {if (obsClient == null) {obsClient = new ObsClient(oBSConfig.getAccessKey, oBSConfig.getSecretKey, oBSConfig.getEndPoint);}return obsClient;}/*** 上传文件到OBS** @param file 待上传的文件* @return 返回文件的访问路径*/public String uploadFile(File file) {try (ObsClient obsClient = getObsClient()) {// 生成唯一的文件名String fileName = UUID.randomUUID().toString() + "-" + file.getName();PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, fileName, file);// 设置元数据(可选)ObjectMetadata metadata = new ObjectMetadata();metadata.setContentType("application/octet-stream");putObjectRequest.setMetadata(metadata);obsClient.putObject(putObjectRequest);return endpoint + "/" + bucketName + "/" + fileName;} catch (ObsException e) {throw new RuntimeException("上传文件失败:" + e.getMessage(), e);}}/*** 上传文件流到OBS** @param inputStream 文件输入流* @param fileName    文件名* @return 返回文件的访问路径*/public String uploadInputStream(InputStream inputStream, String fileName) {try (ObsClient obsClient = getObsClient()) {// 生成唯一的文件名String objectKey = UUID.randomUUID().toString() + "-" + fileName;PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectKey, inputStream);// 设置元数据(可选)ObjectMetadata metadata = new ObjectMetadata();metadata.setContentType("application/octet-stream");putObjectRequest.setMetadata(metadata);obsClient.putObject(putObjectRequest);return endpoint + "/" + bucketName + "/" + objectKey;} catch (ObsException e) {throw new RuntimeException("上传文件流失败:" + e.getMessage(), e);}}/*** 下载文件** @param objectKey 对象键(文件名)* @param savePath  保存路径*/public Inputstream downloadFile(String objectKey, String savePath) {try (ObsClient obsClient = getObsClient()) {GetObjectRequest request = new GetObjectRequest();request.setBucketName(StringUtils.isEmpty(bucket) ? oBSConfig.getBucket : bucket);String objectName = (originFilePath == null ? "" : originFilePath) + fileName;objectName = objectName.charAt(0) == '/' ? objectName.substring(1) : objectName;request.setObjectKey(objectName);if (offset != null) {request.setRangeStart(offset);if (length != null) {request.setRangeEnd(offset + length);}}ObsObject object = client.getObject(request);return object.getObjectContent();} catch (ObsException e) {throw new RuntimeException("下载文件失败:" + e.getMessage(), e);}}/*** 删除文件** @param objectKey 对象键(文件名)*/public void deleteFile(String objectKey) {try (ObsClient obsClient = getObsClient()) {obsClient.deleteObject(bucketName, objectKey);} catch (ObsException e) {throw new RuntimeException("删除文件失败:" + e.getMessage(), e);}}
}

5.文件上传接口实现示例:

@RestController  
@RequestMapping("/obs")  
public class OBSUploadController {  @Autowired  private ObsUtil obsUtil ;  @PostMapping("/upload")  public ResponseEntity<String> uploadFile(  @RequestParam("file") MultipartFile file) {  try {  obsUtil.uploadFile(file.getInputStream(),"xxxx");  return ResponseEntity.ok("OBS路径: " + objectKey);  } catch (ObsException e) {  return ResponseEntity.status(e.getResponseCode())  .body("OBS服务异常: " + e.getErrorMessage());  } catch (Exception e) {  return ResponseEntity.internalServerError()  .body("上传失败: " + e.getMessage());  }  }  
}  

有兴趣的可以试一试。

http://www.mmbaike.com/news/95050.html

相关文章:

  • 关于做公司网站建设你应该知道的提交百度一下
  • 做网站的项目策划书14个seo小技巧
  • 网站建设经费预算域名注册查询系统
  • 公司名字设计江门网站优化公司
  • 婚恋交友网站制作百度收录在线提交
  • 汉中做网站网站优化靠谱seo
  • 易维云 建站abc互联网的推广
  • 北外网院网站建设作业百度信息流广告位置
  • 苏州网站搭建公司云南省最新疫情情况
  • 网站不可以做哪些东西十大门户网站
  • 企业门户网站建设报价太原网站推广排名
  • 搭建网站架构是什么意思自己有域名怎么建网站
  • 网站如何做流媒体百度建站多少钱
  • 浙江建设培训考试网站四川最好的网络优化公司
  • 梅州网站开发社群营销的具体方法
  • 兰州网站制作服务电话苏州网站建设书生商友
  • 新型网站建设北京网讯百度科技有限公司
  • 资源网站平台建设方案开发新客户的十大渠道
  • 小程序网站建设y021搜索引擎优化排名技巧
  • 电商网站如何优化巩义网络推广
  • 提供网站建设的功能温州百度推广公司电话
  • 网站页面日本樱花免m38vcom费vps
  • 网站留言板html代码自己建网站详细流程
  • 网站视频下载到手机怎么做十大免费网站推广平台有哪些
  • 做网站找个人还是公司seo初级入门教程
  • 手机网站绑定域名是什么意思众志seo
  • 我爱建站免费空间大连中小企业网络营销
  • 电商网站开发 知乎软文代发平台
  • 做简历的软件免费泰州seo网络公司
  • 谷歌翻译做多语言网站推广产品的软文