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

湖南株洲建设局网站网站建设前期目标

湖南株洲建设局网站,网站建设前期目标,电子兼职网站建设,wordpress 主题稳定一.分析 要想将阿里云oss集成到新增员工的功能中,必须要设计文件上传的接口UploadController。首先前端给接口上传接口需要接收请求的图片,然后接口再将图片上传到阿里云oss中存储起来,接着接口从阿里云oss中获取图片的url并返回给前端&#…

一.分析

要想将阿里云oss集成到新增员工的功能中,必须要设计文件上传的接口UploadController。首先前端给接口上传接口需要接收请求的图片,然后接口再将图片上传到阿里云oss中存储起来,接着接口从阿里云oss中获取图片的url并返回给前端,前端在将获取到的url文件渲染展示出来。

二.UploadController接口文档

响应数据是一个url路径,浏览器拿到该路径即可渲染展示出来该文件。

三.接口的开发

1.首先引入阿里云OSS文件上传的工具类

package com.gjw.util;import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.util.UUID;/*** 阿里云 OSS 工具类*/
@Data
@Component  // 使用Component实现控制反转(该工具类不属于controller,service,mapper/Dao)
public class AliOSSUtils {private String endpoint = "";    // 选择自己的private String accessKeyID = "";    // 选择自己的private String accessKeySecret = "";    // 选择自己的private String bucketName = "";    // 选择自己的@Autowiredprivate AliOSSProperties aliOSSProperties;/*** 实现上传图片到OSS*/public String upload(MultipartFile file) throws IOException {// 获取上传的文件的输入流InputStream inputStream = file.getInputStream();// 避免文件覆盖String originalFilename = file.getOriginalFilename();String fileName = UUID.randomUUID().toString() + originalFilename.substring(originalFilename.lastIndexOf("."));//上传文件到 OSSOSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);ossClient.putObject(bucketName, fileName, inputStream);//文件访问路径String url = endpoint.split("//")[0] + "//" + bucketName + "." + endpoint.split("//")[1] + "/" + fileName;// 关闭ossClientossClient.shutdown();return url;// 把上传到oss的路径返回}}

 String originalFilename = file.getOriginalFilename();获取到文件的原始名字
 又构建了新的名字:String fileName = UUID.randomUUID().toString() + originalFilename.substring(originalFilename.lastIndexOf("."));此处代码逻辑和上篇博客中的一模一样。

然后构建ossClient对象调用putObject方法进行文件上传。

文件上传完毕后下面组装文件的访问路径,就是将bucket拼接到endpoint,最后在拼接上文件的名字即可。

最后将url返回即可。

2.图片接口开发

/*** 图片上传接口:*      用于将图片上传到云服务器*/
package com.gjw.controller;import com.gjw.pojo.Result;
import com.gjw.util.AliOSSUtils;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import java.io.File;
import java.io.IOException;
import java.util.UUID;@Slf4j
@RestController
public class UploadController {@Autowired  // 依赖注入private AliOSSUtils aliOSSUtils;/*@PostMapping("/upload")
//    public Result result(String username, Integer age, @RequestParam ("image")MultipartFile file) {public Result result(String username, Integer age, MultipartFile image) throws IOException {log.info("文件上传:{},{},{}",username,age,image);System.out.println(image.getName());    // 获取表单项的名字String originalFilename = image.getOriginalFilename();      // 获取原始文件名// 获取原始文件后缀int index = originalFilename.lastIndexOf(".");String substring = originalFilename.substring(index);// 通过Uuid获取到唯一文件名String uuid = UUID.randomUUID().toString();String newFileName = uuid + substring;// 将文件存储在服务器的磁盘目录中image.transferTo(new File("D:\\tlias-file\\image\\" + newFileName));return Result.success();}*/@PostMapping("/upload")public Result result(MultipartFile image) throws IOException {log.info("文件上传,文件名:{}",image.getOriginalFilename());String url = aliOSSUtils.upload(image);log.info("上传文件的url为:{}",url);return Result.success(url);     // 将图片上传后的url返回,用于浏览器的展示}
}

总结

http://www.dtcms.com/wzjs/561911.html

相关文章:

  • 怎样做淘宝的导购网站推广如何免费建立一个自己的网站
  • 和平网站建设公司域名管理
  • 各省网站备案时长南昌所有建设工程网站
  • 全屏网站模板想搞一个自己的网站怎么做
  • wordpress评论提交特效废品回收网站怎么做网站优化
  • 扁平式风格网站网站建设与维护目录
  • 潍坊市城市建设官网站搜索引擎营销是指
  • 怎么样查询网站被挂黑链蚌埠网站制作公司哪家好
  • 小程序怎么做优惠券网站网站空间在线解压
  • 黄岛网站建设公司哪家好开网店的流程及程序
  • 英文学习网站wordpress搜索错误
  • 网站建设的整个过程展览公司网站模板
  • 2015做外贸网站好做吗wordpress 查看全文
  • 温州集团网站建设温州通告最新
  • 在线阅读小说网站怎么做网站域名后缀有什么用
  • dede网站模板怎么安装教程网站的制作哪家好
  • 新彊生产建设兵团网站网络营销外包公司的评价
  • 网站策划书范文模板wordpress文件读取漏洞
  • jn建站系统官网wordpress 验证码插件
  • 网站建设相关优化青浦网站建设
  • 秦皇岛网站建设哪家好免费logo设计网址
  • 厦门网站建设屈兴东网络营销模式课
  • 库存网站建设定制北京网站开发公司飞沐
  • 北京网站推广排名外包青岛标志设计公司
  • 厦门网站建设制作多少钱和动物做的网站吗
  • 合肥的网站建设公司国外手机模板网站推荐
  • 汉中做网站的公司电话余姚网
  • 织梦网站做seo优化变装改造wordpress
  • 做网站美工的前途怎么样装潢公司网站模板
  • 网站程序快捷的网站建设软件