-
根据官方文档操作获取访问密钥(AK/SK),创建桶
对象存储服务OBS
-
获取终端节点(Endpoint) 我的是:
https://obs.cn-north-4.myhuaweicloud.com
-
maven中添加依赖
<!--华为云OBS对象存储管理--> <dependency> <groupId>com.huaweicloud</groupId> <artifactId>esdk-obs-java</artifactId> <version>3.0.3</version> </dependency>
-
定义所需数据
-
创建一个上传图片的类( 数据库存储图片新的名字即可)
@Controller @RequestMapping("/yunFile") public class HuaWeiFileController { @ResponseBody @RequestMapping("/yunUploadFile") public Map<String, Object> yunUploadFile(@RequestParam("file") MultipartFile mf) { String newName = null; Map<String, Object> outMap = new HashMap<>(); try { // 得到文件原名 String oldName = mf.getOriginalFilename(); System.out.println("*********原始图片名" + oldName); // 根据文件原名得到新名 newName = RandomUtils.createFileNameUseTime(oldName); InputStream inputStream = mf.getInputStream(); //创建云服务器 ObsClient obsClient = new ObsClient(Constast.AK, Constast.SK, Constast.END_POINT); PutObjectResult putObjectResult = obsClient.putObject(Constast.BUCEK_NAME, newName, inputStream); String url = putObjectResult.getObjectUrl(); System.out.println("上传路径为:"+url); outMap.put("imgUrl", newName); outMap.put("message", "图片上传成功!"); outMap.put("result", "true"); inputStream.close(); obsClient.close(); } catch (IOException e) { e.printStackTrace(); outMap.put("result", "false"); outMap.put("message", "图片上传失败,请重新上传!"); } return outMap; } }
-
图片得到新名字的方法
/** * 生成文件名使用时间+4位随机数 * @param fileName 文件名称 */ public static String createFileNameUseTime(String fileName) { String fileSuffix=fileName.substring(fileName.lastIndexOf("."),fileName.length()); String time=sdf2.format(new Date()); Integer num=random.nextInt(9000)+1000; return time+num+fileSuffix; }
-
上传成功 修改查看权限即可访问
SpringBoot接收ElementUI数据,实现图片上传到华为云服务器对象存储中
最新推荐文章于 2024-04-25 11:36:45 发布