本文共 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页面:
新增 批量删除 { { scope.$index+1}} ![]()
删除 编辑 ![]()
新增 修改 取消 
其中img是自己定义的,数据库没有这个字段
@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/