当前位置: 首页 > 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.pierceye.com/news/399733/

相关文章:

  • 找人做ps的网站无锡 做公司网站
  • 云速建站可以建个人网站吗wordpress仿站难吗
  • 如何取外贸网站域名凡科h5制作教程
  • 蜘蛛不抓取网站的原因中山h5网站建设
  • 百度免费推广网站建网站用的免费软件
  • 网站建设西安哪里好广州做企业网站的公司
  • 汉中市网站建设爱墙 网站怎么做
  • 失物招领网站开发项目需求分析搭建外文网站
  • 免费网站空间免备案自学php做网站
  • 南宁网站建设nnit30郴州市第一职业中专
  • 想开个影视网站 那有做的莱芜信息平台
  • js做网站登录有服务器了怎么做网站
  • 郑州餐饮网站建设哪家好零基础网站建设教学在哪里
  • 讲述做网站的电影建设工程公司名字大全
  • 易语言可以做网站管理系统吗网站备案查询工信部手机版
  • 珠海建站论坛淘宝客网站做一种还是做好几种
  • 杭州公司的网站建设公司教育网站制作运营
  • 福州手游网站建设长春火车站停运了吗
  • wordpress仿站博客视频教程建筑模板哪种好
  • 手机配件网站模板雇主品牌建设
  • 列车营销网站怎么做网站 审批号
  • 嘉定公司网站设计游仙建设局官方网站
  • 青山做网站西安十大网站制作公司
  • 网站服务器租用一年多少钱啊seo优化检测
  • 北京网站建设联系电话长春市网络科技有限公司
  • 软件下载网站免费大全济宁医院网站建设
  • 龙岩到永定株洲网站推广优化
  • 个人网站建设研究意义朔州seo网站建设
  • 怎样进入网站的后台视频网站建设方案书
  • 家具网站开发报告北斗导航2022最新版手机版