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

投资公司网站设计保定做网站多钱

投资公司网站设计,保定做网站多钱,企业购物平台,知名设计品牌有哪些阿里云对象存储 1、创建阿里云对象存储节点2、上传文件2.1 修改项目配置文件2.2 定义一个Properties类获取配置信息2.3 准备一个alioss工具类2.4 创建注册类#xff0c;将AliOssUtil 注册成Bean2.5 使用AliOssUtil 工具类上传文件2.6 注意事项 使用阿里云对象存储服务分为以下… 阿里云对象存储 1、创建阿里云对象存储节点2、上传文件2.1 修改项目配置文件2.2 定义一个Properties类获取配置信息2.3 准备一个alioss工具类2.4 创建注册类将AliOssUtil 注册成Bean2.5 使用AliOssUtil 工具类上传文件2.6 注意事项 使用阿里云对象存储服务分为以下几步 1、创建阿里云对象存储节点 首先需要创建阿里云对象存储节点。获取endpoint、accessKeyId、accessKeySecret、bucketName四个信息。 进入阿里云官网并注册登录。鼠标悬放在产品上然后悬放到存储上然后点击对象存储OSS。 点击管理控制台。进入对象存储OSS管理控制台。 创建Bucket。如果是第一次使用对象存储OSS服务则首先需要开通服务。开通后点击左上角Bucket列表点击创建Bucket修改Bucket名称点击完成创建。注意复制Endpoint信息。 获取AccessKey ID和 AccessKey Secret。保存好AccessKey ID和 AccessKey Secret。 记录需要的四个信息。 endpoint在创建Bucket时选择地域下面会有对应的Endpoint。 bucketName创建Bucket时自定义。 AccessKey ID和 AccessKey Secret加密获取。 2、上传文件 2.1 修改项目配置文件 在项目配置文件中定义endpoint、accessKeyId、accessKeySecret、bucketName四个信息。这里使用的是yaml格式配置文件。 web:alioss:access-key-id: ---access-key-secret: ---bucket-name: ---endpoint: ---2.2 定义一个Properties类获取配置信息 可以新建一个properties包专门存放用于获取配置信息相关的类。 这里创建一个AliOssProperties类用于保存与阿里云对象存储OSS服务相关的四个信息。 需要在该类上增加几个注解 Component将该类注册成BeanConfigurationProperties给prefix 属性赋值对应的配置文件信息。这里是web.alioss。该注解的作用是从配置文件获取配置信息并将配置信息赋值非成员变量。需要注意配置文件中的名称与成员变量名一致或者配置文件名使用 - 隔开成员变量名使用驼峰命名法。DataLombok注解生成get/set等方法。 Component // 将该类注册成Bean ConfigurationProperties(prefix web.alioss) // 从配置文件中获取配置信息赋值给成员变量 Data // 生成get/set等方法 public class AliOssProperties {private String endpoint;private String accessKeyId;private String accessKeySecret;private String bucketName;}此处使用到了Lombok提供的注解需要引入Lombok相关依赖 dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId /dependency2.3 准备一个alioss工具类 阿里云官方提供许多简单实现代码供参考阿里云对象存储文档中心。这里使用已经封装好的工具类。使用前需要引入阿里云oss相关依赖。 dependencygroupIdcom.aliyun.oss/groupIdartifactIdaliyun-sdk-oss/artifactIdversion3.17.4/version /dependency如果是Java9及以上版本还需要添加JAXB相关依赖 dependencygroupIdjavax.xml.bind/groupIdartifactIdjaxb-api/artifactIdversion2.3.1/version /dependency dependencygroupIdjavax.activation/groupIdartifactIdactivation/artifactIdversion1.1.1/version /dependency !-- no more than 2.3.3-- dependencygroupIdorg.glassfish.jaxb/groupIdartifactIdjaxb-runtime/artifactIdversion2.3.3/version /dependency同样可以专门创建一个utils包存放工具类。可以看到工具类AliOssUtil中有四个成员变量分别于四个关键信息对应。 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();} }2.4 创建注册类将AliOssUtil 注册成Bean 创建一个OssConfiguration 类使用Configuration 修饰使其成为注册类。同时将配置文件中的配置信息传递给工具类的成员变量。配置类也可以创建一个config包存放。 Configuration // 配置类 Slf4j public class OssConfiguration {Bean // 第三方Bean交给Spring容器管理ConditionalOnMissingBean // 如果IOC容器中没有该Bean则创建public AliOssUtil aliOssUtil(AliOssProperties aliOssProperties) {log.info(开始创建阿里云文件上传工具类对象...);return new AliOssUtil(aliOssProperties.getEndpoint(),aliOssProperties.getAccessKeyId(),aliOssProperties.getAccessKeySecret(),aliOssProperties.getBucketName());} }注意 类上需要加Configuration注解使其成为注册类在类中定义一个方法。方法返回值类型是AliOssUtil 工具类。该方法传入参数为上述定义好的AliOssProperties类对象。在方法体中使用带参构造方法创建一个AliOssUtil 对象并返回使用Bean注解修饰该方法第三方Bean交给Spring容器管理使用ConditionalOnMissingBean注解如果IOC容器中没有该Bean则创建 2.5 使用AliOssUtil 工具类上传文件 文件上传一般作为项目的controller层由于是一个通用业务所以一般会命名CommonController。 RestController RequestMapping(/common) Slf4j public class CommonController {Autowiredprivate AliOssUtil aliOssUtil; // 1. 注入AliOssUtil Bean对象/*** 文件上传* param file* return*/PostMapping(/upload)public ResultString upload(MultipartFile file) { // 2. 使用MultipartFile 对象接收文件log.info(文件上传{}, file);try {// 3. 获取原始文件名String originalFilename file.getOriginalFilename(); // 4. 获取原始文件名后缀int index originalFilename.lastIndexOf(.);String extname originalFilename.substring(index);// 5. 构建UUID随机文件名String newFilename UUID.randomUUID().toString() extname;// 6. 调用upload()方法上传文件String filePath aliOssUtil.upload(file.getBytes(), newFilename);return Result.success(filePath);} catch (IOException e) {e.printStackTrace();log.error(文件上传失败{}, e);}return Result.error(文件上传失败...);} }这里接口的返回值为Restlt是后端统一返回结果的格式。 /*** 后端统一返回结果* param T*/ Data public class ResultT implements Serializable {private Integer code; //编码1成功0和其它数字为失败private String msg; //错误信息private T data; //数据public static T ResultT success() {ResultT result new ResultT();result.code 1;return result;}public static T ResultT success(T object) {ResultT result new ResultT();result.data object;result.code 1;return result;}public static T ResultT error(String msg) {Result result new Result();result.msg msg;result.code 0;return result;} }2.6 注意事项 在controller接口中有两个地方值得注意 upload()接收的的参数类型是MultipartFileSpringBoot默认上传的文件大小有限。当上传大文件时需要在配置文件中修改相关配置。 max-file-size指单个文件最大不超过10MB max-request-size指一次请求的文件总量不超过100MB spring:servlet:multipart:max-file-size: 10MBmax-request-size: 100MB在上传到阿里云前需要对文件名进行修改保证文件名唯一。可以使用UUID设置文件名。
http://www.dnsts.com.cn/news/149912.html

相关文章:

  • H5网站整站北京贸易公司网站制作
  • 网站的logo怎么换关于旅游网站建设的方案
  • 安阳网站自然优化wordpress single模板
  • wordpress怎么搜索网站搭建网站怎么挣钱
  • 在百度上注册公司网站要多少钱成都网站推广营销微信
  • 创建平台网站下载链接网站 域名空间 调试
  • 电子商务网站建设服务外包佛山自助建站软件
  • 网站图片自动切换怎么做定制网站开发报价单
  • 域名注册以后怎样做网站erp管理软件开发公司
  • 甜品网站建设规划网站百度权重查询
  • 张家港建设局门户网站陕西省建设厅三类人员报名网站
  • 如何把网站做的更好wordpress搬家404
  • 啊宝贝才几天没做网站网站建设公司市场定位
  • 外国网站在内地做seo2020最成功的网络营销
  • 网站开发与设计实训报告最好看免费观看高清大全宫崎骏
  • 陕西城乡建设部网站深圳市无限空间工业设计有限公司
  • 建设网站采用的网络技术企业营销策划书模板范文
  • 网站开发的形式合肥网站建设的公司
  • 购物网站页面设计新华网官网首页
  • 外贸网站建站那家公司好网站建设项目需求说明书
  • 收录好的网站有哪些保山做网站
  • 化工网站制作网站建设资源平台
  • 专题网站开发报价怎么做一直弹窗口网站
  • 网站首次备案 多久手机怎么登录微信网页版
  • 网站引入优酷视频旅游网站规划设计与建设
  • 网站模板 作业谷歌系平台推广
  • 搜索引擎网站优化推广浙江均泰建设有限公司网站
  • 网站开发项目时序图商标logo设计生成器免费
  • 天价索赔背后的平台版权对垒慈溪企业网站seo
  • 合肥网站建设王道下拉??线下推广有哪些渠道