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

有云服务器和域名怎么做网站广西城乡和建设厅网站

有云服务器和域名怎么做网站,广西城乡和建设厅网站,广州网站优化快速获取排名,设计一个商务网站一#xff1a;前期准备#xff1a; 1.1#xff1a;注册阿里云账号#xff0c;开启对象存储oss功能#xff0c;创建一个bucket#xff08;百度教程多的是#xff0c;跟着创建一个就行#xff0c;创建时注意存储类型是标准存储#xff0c;读写权限是公共读#xff09;…一前期准备 1.1注册阿里云账号开启对象存储oss功能创建一个bucket百度教程多的是跟着创建一个就行创建时注意存储类型是标准存储读写权限是公共读 二后端设置 2.1引入依赖 dependencygroupIdcom.aliyun.oss/groupIdartifactIdaliyun-sdk-oss/artifactIdversion3.10.2/version /dependency 2.2在application.yml中配置一些必要的属性并写一个类读取出来我是这样使用的将某些特定的数据都写到application.yml文件中方便更改当然你也可以直接将他写在类的代码中只不过找起来可能麻烦点 bookstore:alioss:endpoint: xxxxx #外网访问的地域节点access-key-id: xxxxxx #访问阿里云api的秘钥access-key-secret: xxxxxxx #访问阿里云api的秘钥bucket-name: xxxxxxxx #bucket-name//写在application.yml文件中这些数据在阿里云中可以找到秘钥在自己的账号主页里创建生成地域节点和bucket-name都在创建好bucket后查看 读取配置中的数据  package com.bookstore.common.properties;import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component;Component ConfigurationProperties(prefix bookstore.alioss) Data public class AliOssProperties {private String endpoint;private String accessKeyId;private String accessKeySecret;private String bucketName;}//读取配置里的相关数据2.3封装一个上传图片的工具类阿里云已经给出了具体代码没有什么需要修改的内容直接cv大法就行 package com.bookstore.common.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();} }2.4写配置类这个类是来创建AliOssUtil对象并注入到springboot中就是实例化我们上面封装的那个工具类并将我们上面写的从配置中读取数据的类传进去最后返回URL路径它也没有什么需要更改的cv就行 package com.bookstore.config;import com.bookstore.common.properties.AliOssProperties; import com.bookstore.common.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;/*** 配置类用于创建AliOssUtil对象*/ Configuration Slf4j public class OssConfiguration {BeanConditionalOnMissingBeanpublic AliOssUtil aliOssUtil(AliOssProperties aliOssProperties){log.info(开始创建阿里云文件上传工具类对象{},aliOssProperties);return new AliOssUtil(aliOssProperties.getEndpoint(),aliOssProperties.getAccessKeyId(),aliOssProperties.getAccessKeySecret(),aliOssProperties.getBucketName());} }2.5写一个通用接口后端上传图片调的就是这个接口上传一个图片最后返回文件路径 package com.bookstore.controller.admin;import com.bookstore.common.constant.MessageConstant; import com.bookstore.common.result.Result; import com.bookstore.common.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;/*** 通用接口*/ RestController RequestMapping(/admin/common) Api(tags 通用接口) Slf4j public class CommonController {Autowiredprivate AliOssUtil aliOssUtil;/*** 文件上传* param file* return*/PostMapping(/upload)ApiOperation(文件上传)public ResultString upload(MultipartFile file){log.info(文件上传{},file);try {//原始文件名String originalFilename file.getOriginalFilename();//截取原始文件名的后缀.png .jpgString extension originalFilename.substring(originalFilename.lastIndexOf(.));//构造新文件名称String objectName UUID.randomUUID().toString() extension;//文件的请求路径String filePath aliOssUtil.upload(file.getBytes(), objectName);return Result.success(filePath);} catch (IOException e) {log.error(文件上传失败{},e);}return Result.error(MessageConstant.UPLOAD_FAILED);} }三前端怎么写 前端我使用的是vue框架代码如下 3.1模板组件 el-form-item label图片 propimageel-uploadclassupload-demoactionhttp://localhost:8082/admin/common/uploadmethodpost:headers{token: token,}:on-successhandleUploadSuccess:show-file-listfalselist-typepicture-cardimgv-ifpreviewImage:srcpreviewImagestylewidth: 100%; height: 100%/i classel-icon-plus avatar-uploader-icon v-else/i/el-upload/el-form-item 3.1.1代码解释  action这里写的是我们上面的那个通用接口路径 method使用post(后端就是使用的post方法) :headers这里用来设置请求头我在请求头上添加了一个token用来校验用户 :on-success这里是上传成功的回调函数 :show-file-list设置是否显示文件列表 list-typepicture-card设置上传文件列表的样式为图片卡片形式。图片卡片形式可以让用户更直观地看到上传的图片并且可以方便地进行删除或替换操作。 下面的img组件和i标签组件我使用了v-if和v-else来显示上传成功后的样子(是上传之前的图标还是上传成功后的图片回显) 3.2script的data里写 data(){return{token: , //请求头previewImage: , // 图片回显} }3.3script的方法中写好图片上传成功后的回调函数 handleUploadSuccess(response) {// 图片上传成功后的回调函数console.log(response.data);this.previewImage response.data; // 设置图片回显}, 四运行效果 4.1上传图片之前 4.2上传图片后  4.3后端控制台打印消息提示 可以看到运行成功一切正常而且我们的bucket里也是正常有图片的
http://www.zqtcl.cn/news/399733/

相关文章:

  • 网站建站业务wordpress网站域名地址
  • 烟台网站制作这做菠菜网站
  • 网站建设vr百度站长
  • 织梦网站广告代码如何写网页设计你若安好便是晴天作业
  • 网站建设 上海wordpress 知更鸟 公告
  • 建小说网站需要多少钱罗湖区住房和建设网站
  • 湖南专业网站建设服务做网站的底图尺寸多大
  • 山东省住房与建设厅网站首页有名的wordpress主题商
  • 常州市金坛区网站建设毕业设计代做淘宝好还是网站好
  • 品牌网站建设营销型网站设计网站整合方案
  • 网站开发设计师网站代理什么意思
  • 网站层级关系邯郸品牌商标vi设计策划公司
  • 网站开发产品需求说明小网站代码
  • 苏州网站推广排名网站建设方案范文8篇
  • 自己做考试题目网站广州番禺区美食攻略
  • 广州做网站如何如何制作一个网页
  • 网站定制开发收费标准是多少网站代码优化方案
  • 制作卡牌的网站深圳正规煤气公司
  • 手表网站哪家好网站用图片
  • 群辉nas 做网站wordpress linux 中文
  • 平面设计素材网站排名巩义网站建设方案表
  • 延庆网站制作搜索引擎优化的基础是什么
  • 管理手机网站商城网站备案流程
  • 怀化买房网站网站广告js代码添加
  • 做网站 帮别人卖服务器wordpress主题多页面
  • 代理游戏网站潍坊市建设工程管理处网站
  • 大同推广型网站建设网站规划建设与管理维护第二版答案
  • 做网站需要代码吗户外媒体网站建设免费
  • 做什么网站国外做图标网站
  • 网站建设技术部职责门户网站工作总结