SpringBoot通过OSS实现文件上传和下载(包括本地文件的上传和下载)

本文介绍了一种使用SpringBoot结合OSS(对象存储服务)来实现文件上传、下载和删除的方法。主要涉及OSS客户端配置、文件操作接口及其实现,包括上传文件、下载文件、获取文件URL和删除文件的功能。此外,还提到了本地客户端的配置,以处理本地文件系统的上传和下载。
摘要由CSDN通过智能技术生成

String upload(InputStream inputStream, String filePath, String ext) throws Exception;

/**

  • 下载文件

  • @param response

  • @param filePath

  • @param name

  • @author zhangzhixiang

  • @date 2018/10/17 10:59:43

  • @return void

*/

void download(HttpServletResponse response, String filePath, String name) throws Exception;

/**

  • 删除文件

  • @param dirPath

  • @author zhangzhixiang

  • @date 2018/10/17 10:59:43

  • @return void

*/

void delete(String dirPath);

/**

  • 获得url地址

  • @param key

  • @author zhangzhixiang

  • @date 2018/10/17 10:59:43

  • @return java.lang.String

*/

String getUrl(String key);

}

6、常量类定义

/**

  • @Description:简单常亮定义

  • @Author:zhangzhixiang

  • @CreateDate:2018/08/31 11:34:56

  • @Version:1.0

*/

public class SimpleConsts {

public static final Integer INPUT_BUFFER_SIZE = 8192;

}

7、OSS客户端配置

/**

  • @Description:OSS客户端配置

  • @Author:zhangzhixiang

  • @CreateDate:2018/08/31 11:34:56

  • @Version:1.0

*/

public class OssClient implements FileClient {

private static final Logger logger = LoggerFactory.getLogger(OssClient.class);

private final char PATH_SEPARATOR = System.getProperty(“file.separator”).toCharArray()[0];

private static OssClient ossClient;

/**

  • @Description:获取aliOSS对象

  • @Author:zhangzhixiang

*/

private OSS getClient() {

OSS ossClient = null;

try {

ossClient = new OSSClientBuilder().build(BootstrapConsts.end_point, BootstrapConsts.access_key_id, BootstrapConsts.access_key_secret);

} catch(Exception e){

logger.error(“OSSClient bean create error.”,e);

ossClient = null;

}

return ossClient;

}

/**

  • @Description:创建OssClient

  • @Author:zhangzhixiang

*/

public static FileClient create() {

if(null == ossClient) {

synchronized (logger) {

if(null == ossClient) {

ossClient = new OssClient();

}

}

}

return ossClient;

}

/**

  • @Description:根据code获取文件流

  • @Author:zhangzhixiang

*/

@Override

public InputStream getFileStream(String code) {

OSS aliOssClient = getClient();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值