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

网站手机访问 动易容桂网站智能推广新闻

网站手机访问 动易,容桂网站智能推广新闻,网站首页流程图,动画设计师是干什么的1.对象存储概述 文件上传,是指将本地图片、视频、音频等文件上传到服务器上,可以供其他用户浏览或下载的过程。文件上传在项目中应用非常广泛,我们经常发抖音、发朋友圈都用到了文件上传功能。 实现文件上传服务,需要有存储的支持…

1.对象存储概述

        文件上传,是指将本地图片、视频、音频等文件上传到服务器上,可以供其他用户浏览或下载的过程。文件上传在项目中应用非常广泛,我们经常发抖音、发朋友圈都用到了文件上传功能。

实现文件上传服务,需要有存储的支持,解决方案有以下几种:

存储方式优点缺点
直接保存到硬盘开发便捷,成本低扩容困难
分布式文件系统容易实现扩容开发复杂,需要成熟产品支持
第三方存储服务开发简单,强大功能, 免维护付费

2.阿里云对象存储OSS

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台欢迎登录阿里云,全球领先的云计算及人工智能科技公司,阿里云为200多个国家和地区的企业、开发者和政府机构提供云计算基础服务及解决方案。阿里云云计算、安全、大数据、人工智能、企业应用、物联网等云计算服务。https://oss.console.aliyun.com/

2.1 阿里云对象存储OSS配置

2.1.1 创建OSS Bucket

        登录阿里云控制台,申请ECS服务器、申请对象存储OSS、在OSS管理页面创建一个Bucket,Bucket是存储空间的容器,类似于文件夹。选择Bucket的地域、访问权限等设置。

2.1.2 获取AccessKey

        在阿里云控制台获取AccessKey ID和AccessKey Secret,这是访问OSS的凭证。

2.2 项目中使用对象存储OSS

2.2.1 配置AccessKey ID和AccessKey Secret

sky:alioss:endpoint: oss-cn-chengdu.aliyuncs.comaccess-key-secret: B4CZYBn9zyoKjQzdN5sQNvdxaWJSuyaccess-key-id: LTAI5tAKNiTtEJaPdE3omMi3bucket-name: luobeilearn

2.2.2 配置配置类

@Configuration
@Slf4j
public class OssConfiguration {@Bean@ConditionalOnMissingBeanpublic AliOssUtil aliOssUtil(AliOssProperties aliOssProperties){log.info("开始上传阿里云文件上传工具类对象:{}",aliOssProperties);return new AliOssUtil(aliOssProperties.getEndpoint(),aliOssProperties.getAccessKeyId(),aliOssProperties.getAccessKeySecret(),aliOssProperties.getBucketName());}
}

2.2.3 创建阿里云属性类

@Component
@ConfigurationProperties(prefix = "sky.alioss")
@Data
public class AliOssProperties {private String endpoint;private String accessKeyId;private String accessKeySecret;private String bucketName;}

2.2.4 创建工具类

@Data
@NoArgsConstructor
@AllArgsConstructor
@Slf4j
public class AliOssUtil {private String endpoint;private String accessKeyId;private String accessKeySecret;private String bucketName;/*** 文件上传** @param bytes* @param objectName* @return*/public String upload(byte[] bytes, String objectName) {// 创建OSSClient实例。OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);try {// 创建PutObject请求。ossClient.putObject(bucketName, objectName, new ByteArrayInputStream(bytes));} 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();}}//文件访问路径规则 https://BucketName.Endpoint/ObjectNameStringBuilder stringBuilder = new StringBuilder("https://");stringBuilder.append(bucketName).append(".").append(endpoint).append("/").append(objectName);log.info("文件上传到:{}", stringBuilder.toString());return stringBuilder.toString();}
}

2.2.5 在Controller中使用

@RestController
@RequestMapping("/admin/common")
@Api(tags = "通用接口")
@Slf4j
public class CommonController {@Autowiredprivate AliOssUtil aliOssUtil;@PostMapping("/upload")@ApiOperation("文件上传")public Result<String> upload(MultipartFile file){log.info("文件上传");try {//原始文件名String originalFilename = file.getOriginalFilename();//截取原始文件名后缀String substring = originalFilename.substring(originalFilename.lastIndexOf("."));String objectName = UUID.randomUUID().toString()+substring;String filePath = aliOssUtil.upload(file.getBytes(),objectName);return Result.success(filePath);} catch (IOException e) {log.error("文件上传失败:{}",e);}return Result.error(MessageConstant.UPLOAD_FAILED);}
}
http://www.yayakq.cn/news/101540/

相关文章:

  • 自适应网站欣赏联赛网站建设不足
  • 商丘 网站建设全网营销推广是什么
  • 网站建设成品伪静态规则变动对网站的影响
  • 网站统计网站建设与制作就业前景
  • 网站更换ico文件位置wordpress使用七牛图床
  • 成都网站建设企业seo建站教学
  • 网站后台html5模板二手房
  • 网站建设方案书个人做产品包装的3d网站
  • 十大小说网站排名地推app接任务平台
  • 山东省建设工程招投标网站响应式网站设计教程
  • 2015做那些网站致富上海网站建设网页制
  • project 网站开发计划服装页面设计的网站
  • 霞山网站建设公司设计师兼职平台
  • 淳安网站建设制作陕西城乡建设网
  • 信息可视化网站网络公司排名中国科技企业排行榜
  • 大学html网站建设作业wordpress判断页面
  • 鹤壁网站seo优化哪位大神推荐一下好网站
  • 专业的内蒙古网站建设中瑞网络网站建设流程
  • 荣耀手机官方网站网页版梦幻西游杨洋兑换码是多少
  • 北京网站开发公司wordpress哪里编辑页脚
  • 微信 网站提成方案点做深圳市光明区
  • 专业行业网站建站报价微商来官网登录
  • 中国电子系统建设公司网站江西建筑人才网
  • 网站怎么增加关键词库wordpress需要安装php模块
  • 永州网站建设如何做电子商务网站的公司
  • asp c 网站开发四川企业网站开发
  • 上海网站建设哪家公司好贵州省住房和城乡建设厅网站
  • php调用网站导航怎么弄wordpress后台分类目录添加自定义
  • 百度云可以做网站吗广告设计月薪多少钱
  • 网站制作公司 全贵州百度推广app下载