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

做的好的办公家具网站背景音乐 wordpress

做的好的办公家具网站,背景音乐 wordpress,vps 建网站 代理,微分销系统怎么做文件上传流程#xff1a; 创建阿里云OSS#xff08;对象存储服务#xff09;的bucket 登录阿里云#xff0c;并完成实名认证#xff0c;地址#xff1a;https://www.aliyun.com/. 可以通过搜索#xff0c;进入以下页面#xff1a; 点击立即使用后#xff1a; 点击…文件上传流程 创建阿里云OSS对象存储服务的bucket 登录阿里云并完成实名认证地址https://www.aliyun.com/. 可以通过搜索进入以下页面 点击立即使用后 点击试用后就开通了相关服务然后在产品中搜索“OSS”点击管理平台 点击“Bucket列表”进行创建 代码 创建成功后再次进入bucket列表通过帮助文档进入到SDK选择Java 也可以使用以下文件上传代码示例 代码思路 配置文件中 (application-dev.xml) 添加OSS的配置项可以通过配置属性类AliOssProperties加载并封装这些属性值然后通过OssConfiguration创建AliOssProperties其中OssConfiguration在项目启动时就能调用aliOssUtil方法把该对象创建出来后交给spring容器进行管理通过Bean实现ConditionalOnMissingBean保证整个spring容器里面只有一个AliOssUtil对象因此可以在对应的Controller类中通过Autowired获取到AliOssUtil实现文件上传。 package com.sky.utils;import com.aliyun.oss.ClientException; import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; import com.aliyun.oss.OSSException; import lombok.AllArgsConstructor; import lombok.Data; import lombok.extern.slf4j.Slf4j; import java.io.ByteArrayInputStream;Data 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();} } 相关配置项的设置: 设置配置属性类 package com.sky.properties;import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component;Component ConfigurationProperties(prefix sky.alioss) Data public class AliOssProperties {private String endpoint;private String accessKeyId;private String accessKeySecret;private String bucketName;} 项目配置文件设置application.xml server:port: 8080spring:profiles:active: devmain:allow-circular-references: truedatasource:druid:driver-class-name: ${sky.datasource.driver-class-name}url: jdbc:mysql://${sky.datasource.host}:${sky.datasource.port}/${sky.datasource.database}?serverTimezoneAsia/ShanghaiuseUnicodetruecharacterEncodingutf-8zeroDateTimeBehaviorconvertToNulluseSSLfalseallowPublicKeyRetrievaltrueusername: ${sky.datasource.username}password: ${sky.datasource.password}mybatis:#mapper配置文件mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.sky.entityconfiguration:#开启驼峰命名map-underscore-to-camel-case: truelogging:level:com:sky:mapper: debugservice: infocontroller: infosky:jwt:# 设置jwt签名加密时使用的秘钥admin-secret-key: itcast# 设置jwt过期时间admin-ttl: 7200000# 设置前端传递过来的令牌名称admin-token-name: token# 添加阿里云文件存储服务相关配置alioss:endpoint: ${sky.alioss.endpoint}access-key-id: ${sky.alioss.access-key-id}access-key-secret: ${sky.alioss.access-key-secret}bucket-name: ${sky.alioss.bucket-name}这里使用变量的方式添加阿里云对象存储服务的相关属性值以便适应开发(dev)和产品(prod)两种环境当前使用的环境为dev于是在application-dev.xml中设置相关属性值如 sky:datasource:driver-class-name: com.mysql.cj.jdbc.Driverhost: localhostport: 3306database: xxxxusername: rootpassword: xxxxalioss:endpoint: oss-cn-hangzhou.aliyuncs.comaccess-key-id: xxxxaccess-key-secret: xxxxbucket-name: xxxx添加OSS配置类 package com.sky.config;import com.sky.properties.AliOssProperties; import com.sky.utils.AliOssUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;/*** ClassName: OssConfig* PackageName: com.sky.config* Description: 配置类用于创建AliOssUtil对象** Author Xiyan Zhong* Create 2023/12/19 下午4:35* Version 1.0*/ Configuration Slf4j public class OssConfiguration {BeanConditionalOnMissingBeanpublic AliOssUtil aliOssUtil(AliOssProperties aliOssProperties) {log.info(开始创建阿里云文件上传工具类对象{},aliOssProperties);return new AliOssUtil(aliOssProperties.getEndpoint(),aliOssProperties.getAccessKeyId(),aliOssProperties.getAccessKeySecret(),aliOssProperties.getBucketName());} } 相应的controller代码 package com.sky.controller.admin;import com.sky.result.Result; import com.sky.utils.AliOssUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile;import java.io.IOException; import java.util.UUID;/*** ClassName: CommonController* PackageName: com.sky.controller.admin* Description:通用上传接口** Author Xiyan Zhong* Create 2023/12/19 下午2:46* Version 1.0*/RestController RequestMapping(/admin/common) Api(tags 通用接口) Slf4j public class CommonController {// 通过Autowired注解注入依赖Autowiredprivate AliOssUtil aliOssUtil;/*** 文件上传* param file* return*/PostMapping(/upload)ApiOperation(文件上传)// 参数名要与前端请求时的参数保持一致public ResultString upload(MultipartFile file){log.info(文件上传{},file);try {// 获取原始文件名String originalFileName file.getOriginalFilename();// 截取原始文件名的后缀String extension originalFileName.substring(originalFileName.lastIndexOf(.));// 构造新文件名称String objectName UUID.randomUUID().toString() extension;// 第一个参数文件对象转成的字节数组第二个参数文件上传到OSS中对应的名称通过UUID后缀生成避免文件重名导致文件覆盖。// filePath表示文件的请求路径String filePath aliOssUtil.upload(file.getBytes(),objectName);return Result.success(filePath);}catch (IOException e){log.error(文件上传失败{},e);}return Result.error(文件上传失败);} }
http://www.zqtcl.cn/news/692837/

相关文章:

  • wordpress ip 访问重庆seo顾问服务
  • 灰色调网站自动seo系统
  • 河北省网站建设公司排名企业网络信息安全
  • 郑州网站定制建个微商城网站
  • 北京好网站制作公司哪家好vs加数据库做网站
  • 电子商务网站建设与管理第四章答案seo入门培训学校
  • 温州最便宜网站建设有哪些网站可以做推广
  • 郑州网站建设制作公司wordpress播放m3u8
  • wordpress企业站手机客户端wordpress获取主页路径
  • 免费开通的网站外国网站在中国做推广
  • 揭阳公司做网站泰国网站域名
  • 上海网站制作方法北京网站制作设计推广公司
  • 衡水哪有建网站的吗个人简历word模板
  • 网站建设前期开发企业网站开发丨薇
  • 流程图 网站做网站后台数据库建设
  • 免费做英语卷子的网站wordpress去谷歌插件
  • 做网站费用网站极简设计
  • 兰州市建设工程安全质量监督站网站优化公司治理
  • 高质量的合肥网站建设天津百度网站快速优化
  • 千元低价网站建设wordpress修改文章时间
  • 做网站需要几个程序wordpress淘客api
  • 建筑公司网站源码本地建站教程
  • 甘肃省建设厅官方网站信息网腾讯企点qq
  • 搜狗收录网站建个网络平台多少钱
  • 电子商务网站开发目的和意义郑州网站优化的微博_腾讯微博
  • asp.net网站建设项目实战 董义革wordpress伪静态规则访问失败
  • 网站添加锚点网站备案名称更换
  • 手机商城网站如何企业网站建设及运营现状分析
  • 网站建设注意的问题网站模板 知乎
  • 自主设计和创建网站网站建设价格便宜