博客
关于我
elementui+Vue+OSS使用图片上传和删除
阅读量:512 次
发布时间:2019-03-07

本文共 4294 字,大约阅读时间需要 14 分钟。

效果图1:

在这里插入图片描述
效果图2:新增页面
在这里插入图片描述
效果图3:修改页面
在这里插入图片描述
首先引入依赖:

com.aliyun.oss
aliyun-sdk-oss
3.8.0

在后台定义一个控制器:

package com.ff.controller;import com.aliyun.oss.OSSClient;import org.springframework.web.bind.annotation.CrossOrigin;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.io.InputStream;import java.util.HashMap;import java.util.Map;import java.util.UUID;@RestController@RequestMapping("/file")@CrossOriginpublic class FileController {     // 阿里云oss上传文件相关属性值    // 阿里云API的外网域名    public static final String ENDPOINT = "oss-cn-beijing.aliyuncs.com";    // 阿里云API的密钥    public static final String ACCESS_KEY_ID = "LTAI4Fzm3c6EmUexCHLvZNcm";    // 阿里云API的密钥Access Key Secret    public static final String ACCESS_KEY_SECRET = "b8OrjTpYWW3sZSlimy4sxr2WJuNX09";    // 阿里云API的bucket名称    public static final String BACKET_NAME = "jjjqqq";    // 阿里云API的文件夹名称    public static final String FOLDER = "photo/";    public static final String URl = "https://jjjqqq.oss-cn-beijing.aliyuncs.com/";    //图片上传    @RequestMapping("uploadPhoto")    public Map
uploadPhoto(MultipartFile file) { Map
map=new HashMap<>(); OSSClient ossClient = null; InputStream inputStream = null; try { ossClient = new OSSClient(ENDPOINT,ACCESS_KEY_ID,ACCESS_KEY_SECRET); //获取文件名 String filename = file.getOriginalFilename(); //截取后缀 String suffx = filename.substring(filename.lastIndexOf(".")); //获取文件名称 String newFileName= UUID.randomUUID()+suffx; inputStream = file.getInputStream(); ossClient.putObject(BACKET_NAME,FOLDER+newFileName,inputStream); map.put("filePath",URl+FOLDER+newFileName); } catch (Exception e) { e.printStackTrace(); }finally { if(inputStream!=null){ try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } if(ossClient!=null){ ossClient.shutdown(); } } return map; }}

App.Vue页面:

其中img是自己定义的,数据库没有这个字段在这里插入图片描述

修改时在DrugServiceImpl层删除老图片:

@Override   @Override    public void updateDrug(Drug drug) {           //判断新图片和老图片都不为null        if(StringUtils.isNotBlank(drug.getImg()) && StringUtils.isNotBlank(drug.getPhoto()) && !drug.getImg().equals(drug.getPhoto())){              //删除老图片            OSSUtil.deleteFile(drug.getImg());       }        drugMapper.updateById(drug);    }

其中OSSUtil是自己写的工具类:

public class OSSUtil {       // 阿里云oss上传文件相关属性值    // 阿里云API的外网域名    public static final String ENDPOINT = "oss-cn-beijing.aliyuncs.com";    // 阿里云API的密钥    public static final String ACCESS_KEY_ID = "LTAI4Fzm3c6EmUexCHLvZNcm";    // 阿里云API的密钥Access Key Secret    public static final String ACCESS_KEY_SECRET = "b8OrjTpYWW3sZSlimy4sxr2WJuNX09";    // 阿里云API的bucket名称    public static final String BACKET_NAME = "jjjqqq";    // 阿里云API的文件夹名称    public static final String FOLDER = "photo/";    public static final String URl = "https://jjjqqq.oss-cn-beijing.aliyuncs.com/";    public static void deleteFile(String fileName){           OSSClient ossClient = new OSSClient(ENDPOINT,ACCESS_KEY_ID,ACCESS_KEY_SECRET);        //给fileName重新赋值        String replace = fileName.replace(URl, "");        //删除        ossClient.deleteObject(BACKET_NAME,replace);        ossClient.shutdown();    }}

转载地址:http://jpljz.baihongyu.com/

你可能感兴趣的文章
Mysql学习总结(55)——MySQL 语句大全再温习
查看>>
Mysql学习总结(56)——MySQL用户管理和权限设置
查看>>
Mysql学习总结(57)——MySQL查询当天、本周、本月、上周、本周、上月、距离当前现在6个月数据
查看>>
Mysql学习总结(58)——深入理解Mysql的四种隔离级别
查看>>
Mysql学习总结(59)——数据库分库分表策略总结
查看>>
Mysql学习总结(5)——MySql常用函数大全讲解
查看>>
Mysql学习总结(60)——并发量大、数据量大的互联网业务数据库设计规范总结
查看>>
Mysql学习总结(61)——MySQL优化之DBA级优化整理汇总
查看>>
Mysql学习总结(62)——MySQL连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link问题
查看>>
Mysql学习总结(63)——Mysql数据库架构方案选择与分析
查看>>
Mysql学习总结(64)——Mysql配置文件my.cnf各项参数解读
查看>>
Mysql学习总结(65)——项目实战中常用SQL实践总结
查看>>
Mysql学习总结(66)——设置MYSQL数据库编码为UTF-8
查看>>
Mysql学习总结(67)——MYSQL慢查询日志
查看>>
Mysql学习总结(68)——MYSQL统计每天、每周、每月、每年数据 SQL 总结
查看>>
Mysql学习总结(69)——Mysql EXPLAIN 命令使用总结
查看>>
Mysql学习总结(6)——MySql之ALTER命令用法详细解读
查看>>
Mysql学习总结(70)——MySQL 优化实施方案
查看>>
Mysql学习总结(71)——MySQL 重复记录查询与删除总结
查看>>
Mysql学习总结(71)——数据库介绍(MySQL安装 体系结构、基本管理)再回顾
查看>>