当前位置: 首页 > 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/130474.html

相关文章:

  • 黑龙江 网站建设seo服务方案
  • 做网站学习去了外包简历就毁了吗
  • 自己做网站图片存在哪里广州专做优化的科技公司
  • 企业网站建设与网络营销的关系培训方案
  • 西安专业建设网站站长统计ios
  • 保定建设招聘信息网站近三天发生的重要新闻
  • wordpress转移空间500错误厦门seo搜索引擎优化
  • 百度云可以做网站吗百度关键词排名qq
  • 网站做漏洞扫描费用西宁网站seo
  • 保定网站搜索引擎优化投稿平台
  • 网站怎么在工信部备案信息查询湖南关键词优化快速
  • 网站建设实践报告小结网站首页seo关键词布局
  • 做网站的工具怎么使用下店拓客团队
  • 建设银行网站怎么短信转账百度推广客户端下载
  • 网站建设与网页设计报告免费网站服务器
  • 用wordpress教程视频郑州网站优化seo
  • 购买一个网站空间如何可以多个域名使用吗在线培训课程
  • 网站开发工资咋样小红书推广费用一般多少
  • 网站 的建设意义苏州网站优化公司
  • 开发网站制作无锡网站建设方案优化
  • 个人商城网站能备案吗网站排名优化培训电话
  • 网站怎么做app恢复正常百度
  • 做文创的网站西安百度推广网站建设
  • 注册网站流程及费用好搜seo软件
  • 十堰网站建设公司电话seo独立站
  • wordpress文章模板编辑器网站优化 秦皇岛
  • 优质的设计网站有哪些网站的seo 如何优化
  • 丽水房产网站建设中国最新军事新闻
  • wordpress一键采集文章seo数据分析哪些方面
  • 网站建设接活做推广的软件有哪些