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

cdr里做网站超级链接电子商务网站建设心得体会

cdr里做网站超级链接,电子商务网站建设心得体会,免费建站模板网站,西红门网站建设文章目录 springboot整合七牛云oss操作文件核心代码#xff08;记得修改application.yml配置参数⭐#xff09;maven依赖QiniuOssProperties配置类UploadControllerResponseResult统一封装响应结果ResponseType响应类型枚举OssUploadService接口QiniuOssUploadServiceImpl实现… 文章目录 springboot整合七牛云oss操作文件核心代码记得修改application.yml配置参数⭐maven依赖QiniuOssProperties配置类UploadControllerResponseResult统一封装响应结果ResponseType响应类型枚举OssUploadService接口QiniuOssUploadServiceImpl实现类QiniuOssApplication启动类application.yml 文件/图片上传数据流方式上传⭐获取accessKey和secretKey配置内容创建一个存储空间和获取bucket存储空间名称、服务器域名 文件删除⭐ springboot整合七牛云oss操作文件 核心代码记得修改application.yml配置参数⭐ maven依赖 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdorg.example/groupIdartifactIdqiniuOss/artifactIdversion1.0-SNAPSHOT/versionproperties!-- springboot版本--spring-boot.version2.7.2/spring-boot.versionmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementdependencies!--实现自定义的propertiesConfigurationProperties注解下的内容可以在application.yml出现提示。导入了这个依赖当我们运行项目后就会在target目录下面自动生成/META-INF/spring-configuration-metadata.json文件--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional/dependency!-- springboot-web--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- String工具类包 --dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-lang3/artifactIdversion3.12.0/version/dependency!-- lombok--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.24/version/dependency !-- 七牛云oss sdk--dependencygroupIdcom.qiniu/groupIdartifactIdqiniu-java-sdk/artifactIdversion[7.7.0, 7.10.99]/version/dependencydependencygroupIdcom.google.code.gson/groupIdartifactIdgson/artifactIdversion2.8.5/versionscopecompile/scope/dependency/dependencies/projectQiniuOssProperties配置类 package com.boot.config;import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.stereotype.Component;/*** 七牛云oss配置类* author youzhengjie 2022-10-07 18:07:19*/ Component Data ConfigurationProperties(prefix qiniu) EnableConfigurationProperties({QiniuOssProperties.class }) public class QiniuOssProperties {/*** 下面的AK、SK都要从七牛云的密钥管理中获取*/private String accessKey;private String secretKey;/*** 指定存储空间名称*/private String bucket;/*** 七牛云图片服务器域名有效期30天过期可以重新创建新的存储空间*/private String ossUrl; }UploadController package com.boot.controller;import com.boot.data.ResponseResult; import com.boot.service.OssUploadService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile;/*** author youzhengjie 2022-10-07 18:08:18*/ RestController public class UploadController {AutowiredQualifier(qiniuOssUploadServiceImpl) //指定spring注入的实现类为七牛云oss实现类private OssUploadService ossUploadService;/*** 图片上传* param imageFile* return*/PostMapping(path /imageUpload)public ResponseResult imageUpload(MultipartFile imageFile){return ossUploadService.imageUpload(imageFile);}/*** 文件删除* return*/DeleteMapping(path /fileDelete)public ResponseResult fileDelete(String fileFullName){return ossUploadService.fileDelete(fileFullName);}}ResponseResult统一封装响应结果 package com.boot.data;import com.fasterxml.jackson.annotation.JsonInclude; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;/*** 统一响应结果*/ JsonInclude(JsonInclude.Include.NON_NULL) //为null的字段不进行序列化 Data NoArgsConstructor AllArgsConstructor public class ResponseResultT {/*** 响应状态码*/private Integer code;/*** 响应状态码对应的信息提示*/private String msg;/*** 返回给前端的数据*/private T data;public ResponseResult(Integer code, String msg) {this.code code;this.msg msg;}public ResponseResult(Integer code, T data) {this.code code;this.data data;}}ResponseType响应类型枚举 package com.boot.enums;/*** 响应类型枚举类* author youzhengjie 2022-09-22 22:47:21*/ public enum ResponseType {/*** 响应类型*/IMAGE_UPLOAD_SUCCESS(901,图片上传成功),IMAGE_UPLOAD_ERROR(902,图片上传失败),FILE_FORMAT_UNSUPPORT(903,不支持该文件格式上传失败),FILE_DELETE_SUCCESS(904,文件删除成功),FILE_DELETE_ERROR(905,文件删除失败),;private int code;private String message;ResponseType(int code, String message) {this.code code;this.message message;}public int getCode() {return code;}public void setCode(int code) {this.code code;}public String getMessage() {return message;}public void setMessage(String message) {this.message message;} }OssUploadService接口 package com.boot.service;import com.boot.data.ResponseResult; import com.boot.enums.ResponseType; import org.springframework.web.multipart.MultipartFile;/*** oss上传service接口* author youzhengjie 2022-10-06 23:13:28*/ public interface OssUploadService {/*** oss图片上传* param imageFile* return 上传结果*/ResponseResult imageUpload(MultipartFile imageFile);/*** oss文件删除* param fileFullName 文件全名也就是下面这个代码生成的名字记住不要加上域名例如* String newFileName new StringBuilder()* .append(fileDir)* .append(uuidFileName)* .append(fileSuffix).toString();** return 删除结果*/ResponseResult fileDelete(String fileFullName);} QiniuOssUploadServiceImpl实现类 package com.boot.service.impl;import com.boot.config.QiniuOssProperties; import com.boot.data.ResponseResult; import com.boot.enums.ResponseType; import com.boot.service.OssUploadService; import com.qiniu.common.QiniuException; import com.qiniu.http.Response; import com.qiniu.storage.BucketManager; import com.qiniu.storage.Configuration; import com.qiniu.storage.Region; import com.qiniu.storage.UploadManager; import com.qiniu.storage.model.FileInfo; import com.qiniu.util.Auth; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile;import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.UUID;/*** 七牛云oss文件上传实现类* author youzhengjie 2022-10-06 23:14:17*/ Service(qiniuOssUploadServiceImpl) Slf4j public class QiniuOssUploadServiceImpl implements OssUploadService {Autowiredprivate QiniuOssProperties qiniuOssProperties;/*** 检查文件是否是图片类型* param originalFilename* return true代表是图片false则不是图片*/private boolean isImage(String originalFilename){//将文件名全部变小写String lowerOriginalFilename originalFilename.toLowerCase();return lowerOriginalFilename.endsWith(.jpg) ||lowerOriginalFilename.endsWith(.png) ||lowerOriginalFilename.endsWith(.jpeg);}Overridepublic ResponseResult imageUpload(MultipartFile imageFile) {//获取上传前的文件原名String oldFileName imageFile.getOriginalFilename();//封装响应结果ResponseResultObject result new ResponseResult();//如果不是图片则直接返回if(!isImage(oldFileName)){result.setCode(ResponseType.FILE_FORMAT_UNSUPPORT.getCode());result.setMsg(ResponseType.FILE_FORMAT_UNSUPPORT.getMessage());return result;}//构造一个带指定自动的Region对象的配置类Configuration cfg new Configuration(Region.autoRegion());cfg.resumableUploadAPIVersion Configuration.ResumableUploadAPIVersion.V2;// 指定分片上传版本UploadManager uploadManager new UploadManager(cfg);//以日期作为目录每一天的图片都会放到不同的目录下方便管理SimpleDateFormat simpleDateFormat new SimpleDateFormat(yyyy/MM/dd/);String fileDir simpleDateFormat.format(new Date());//UUID文件名String uuidFileName UUID.randomUUID().toString().replaceAll(-, );//获取文件后缀名 .jpgString fileSuffix oldFileName.substring(oldFileName.lastIndexOf(.));//上传到oss中的新的图片文件名String newFileName new StringBuilder().append(fileDir).append(uuidFileName).append(fileSuffix).toString();try {//获取前端传来的文件流InputStream inputStream imageFile.getInputStream();Auth auth Auth.create(qiniuOssProperties.getAccessKey(), qiniuOssProperties.getSecretKey());String upToken auth.uploadToken(qiniuOssProperties.getBucket());//七牛云oss上传文件的核心方法Response response uploadManager.put(inputStream,newFileName,upToken,null, null);result.setCode(ResponseType.IMAGE_UPLOAD_SUCCESS.getCode());result.setMsg(ResponseType.IMAGE_UPLOAD_SUCCESS.getMessage());//返回一个外面可以访问的图片地址。拼接域名新的图片全路径这样我们通过这个路径就可以直接在外面访问图片了result.setData(qiniuOssProperties.getOssUrl()newFileName);return result;}catch (Exception e){e.printStackTrace();result.setCode(ResponseType.IMAGE_UPLOAD_ERROR.getCode());result.setMsg(ResponseType.IMAGE_UPLOAD_ERROR.getMessage());return result;}}/*** 七牛云oss文件删除* param fileFullName 文件全名也就是下面这个代码生成的名字记住不要加上域名* String newFileName new StringBuilder()* .append(fileDir)* .append(uuidFileName)* .append(fileSuffix).toString();* return 删除结果*/Overridepublic ResponseResult fileDelete(String fileFullName) {//封装响应结果ResponseResultObject result new ResponseResult();//构造一个带指定 Region 对象的配置类Configuration cfg new Configuration(Region.autoRegion());Auth auth Auth.create(qiniuOssProperties.getAccessKey(), qiniuOssProperties.getSecretKey());BucketManager bucketManager new BucketManager(auth, cfg);try {//七牛云oss文件删除核心方法Response response bucketManager.delete(qiniuOssProperties.getBucket(), fileFullName);result.setCode(ResponseType.FILE_DELETE_SUCCESS.getCode());result.setMsg(ResponseType.FILE_DELETE_SUCCESS.getMessage());return result;} catch (QiniuException ex) {ex.printStackTrace();result.setCode(ResponseType.FILE_DELETE_ERROR.getCode());result.setMsg(ResponseType.FILE_DELETE_ERROR.getMessage());return result;}} }QiniuOssApplication启动类 package com.boot;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class QiniuOssApplication {public static void main(String[] args) {SpringApplication.run(QiniuOssApplication.class,args);}}application.yml server:port: 8231 spring:servlet:#文件上传配置multipart:max-file-size: 3MBmax-request-size: 6MB#七牛云oss配置 qiniu:# 密钥管理的AKaccessKey: xPu-62ptMpg-kolm4nPVcvWgUnK1EZgu27ffKpBE#密钥管理的SKsecretKey: gDxkqTu7i7BBgbsvoQ7h4bmE5m16aRyHXyQ1Zc6D#指定我们文件上传的存储空间名称bucket: java-qiniu# 七牛云图片服务器域名有效期30天过期可以重新创建新的存储空间ossUrl: http://rjc4vwz0g.hn-bkt.clouddn.com/文件/图片上传数据流方式上传⭐ 获取accessKey和secretKey配置内容 登录七牛云并进入下面的网址 七牛云网址 创建一个存储空间和获取bucket存储空间名称、服务器域名 1进入七牛云控制面板 七牛云网址 2创建新的存储空间 3查看刚刚创建的存储空间 4获取我们的存储空间域名 5上传操作。由于我们后端进行了特殊校验只允许传入图片下面演示 文件删除⭐ 1获取文件的key 2文件删除
http://www.hkea.cn/news/14289012/

相关文章:

  • 柳州做网站去哪家公司好做煤网站
  • 上海网站建设公司官网大连建设局网站
  • 印刷报价网站源码下载wordpress怎么分享到微信支付
  • 商城网站建设套餐报价360提交网站
  • 你第一个物流网站建设方案物流信息网站
  • 注册公司网站源码西安发布信息的平台
  • wordpress如何制作网站在线代理网页版proxy
  • 网站做微信公众号东莞网站建设乐云seo在线制作
  • 怎么自己设置网站模板一般给公司做网站怎么收费
  • 怎么寻找要建设网站的客户群互联网公司排名最新
  • 网站标题特效98证书兼职网
  • 广州铁路投资建设集团网站wordpress页面超链接
  • 网站优化推广是什么网站风格抄袭
  • 国外网页素材网站互联网推广销售好做吗
  • 1688域名网站现货市场交易平台
  • 怎么样用html做asp网站网站开发 数据库
  • 玉树商城网站建设网站开发设计大概多少费用
  • 如何做天猫网站免费网站模板
  • 建设培训网站建设个人注册网站怎么注册
  • 太仓网站优化wordpress官方空间
  • 在线crm免费将夜2seo推广哪家公司好
  • 沧州企业网站制作龙岩亿网行
  • 威海做网站的公司wordpress源码买卖
  • 网站开发亿玛酷给力5wordpress产品页名称
  • 新乡定制网站建设公司网站的服务有哪些
  • 网站建设的总结一站式做网站哪家好
  • 如何看到网站的建设时间网站格式图片
  • c++可以做网站吗网站建设谁家好
  • 代做单片机毕业设计网站网站建设怎样宣传比较好
  • 公司网站开发费用计入哪个科目人力资源三网站建设