前言:
而今同学们对“ossjava”可能比较着重,朋友们都需要剖析一些“ossjava”的相关资讯。那么小编也在网络上网罗了一些关于“ossjava””的相关内容,希望各位老铁们能喜欢,小伙伴们一起来学习一下吧!com.aliyun.oss aliyun-sdk-oss 3.5.0 commons-io commons-io 2.4 commons-fileupload commons-fileupload 1.3.3 application.properties:配置类
##basic setting
server.port = 8080
server.address =127.0.0.1
解除文件大小限制
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
OssManagerUtil.java:阿里OSS工具类
/**
阿里Oss对象存储工具类
*/
public class OssManagerUtil {private static String endpoint = “oss中获取的oss公网路径";
private static String accessKeyId = “自己在阿里云申请的accessKeyId";
private static String accessKeySecret = “自己在阿里云申请的accessKeySecret”;
private static String bucket = “bucket名称”;private static OSS client;static {
client = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
}/**上传图片@param fileName 图片名称,图片名称包括文件夹名称和“/”@param length 图片大小@param content 输入流
*/
public static String uploadImage(String fileName, long length, InputStream content) {
uploadBucketImage(bucket, fileName, length, content);
return “https://” + bucket + “.” + endpoint + “/” + fileName;
}/**上传文件@param bucket 存储空间名@param fileName 文件名(包括文件夹名称和“/”)@param length 流的长度@param content 输入流
*/
public static void uploadBucketImage(String bucket, String fileName, long length, InputStream content) {
// 创建上传Object的Metadata
ObjectMetadata meta = new ObjectMetadata();
// 必须设置ContentLength
meta.setContentLength(length);
// 上传Object.
client.putObject(bucket, fileName, content, meta);
}/**删除文件@param fileName 文件名称,图片名称包括文件夹名称和“/”
*/
public static boolean delShopImage(String fileName) {
//判断文件是否存在
boolean exist = client.doesObjectExist(bucket, fileName);
//文件不存在删除失败
if (!exist) {
return false;
}
//执行删除
client.deleteObject(bucket, fileName);
return true;
}/**获得上传文件后url链接@param fileName 文件名(包括文件夹名称和“/”)@return
/
public static String getUrl(String fileName) {
// 设置URL过期时间为10年 3600l 100024365*10
Date expiration = new Date(System.currentTimeMillis() + 3600L * 1000 * 24 * 365 * 10);
// 生成URL
URL url = client.generatePresignedUrl(bucket, fileName, expiration);
if (url != null) {
return url.toString();
}
return null;
}/**创建存储空间@param bucketName 新建存储空间默认为标准存储类型,私有权限。@return
*/
public static void crateBucket(String bucketName) {
// 新建存储空间默认为标准存储类型,私有权限。
client.createBucket(bucketName);
}
}
测试接口:文件上传
/**
文件上传到阿里oss
*/
@PostMapping("/uploadFiletoOss")
@ApiOperation(value = “文件上传到阿里oss”)
public ResponseResult uploadFiletoOss(@RequestParam(“file”)MultipartFile file)throws IOException{
String fileName = file.getOriginalFilename();
String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
fileName = UUID.randomUUID().toString().replace("-", “”) + “.” + suffix;
String url = OssManagerUtil.uploadImage(fileName,file.getInputStream().available(),file.getInputStream());
return ResponseResult.success(url);
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:
原作者删帖 不实内容删帖 广告或垃圾文章投诉
标签: #ossjava