目录
1.普通的文件上传到OSS文件服务器
1.1 阿里云界面操作
1.2 引入阿里云的OSS依赖
1.3 OOS代码的书写
2.elementui 异步上传OSS服务器
2.1 实现界面
2.2 前端
2.2 封装一个工具类
2.3 创建一个实体类
2.4 创建一个controller
1.普通的文件上传到OSS文件服务器
1.1 阿里云界面操作
1.2 引入阿里云的OSS依赖
com.aliyun.oss
aliyun-sdk-oss
3.10.2
1.3 OOS代码的书写
public class UploadFile {
public static String upload(MultipartFile multipartFile){
// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
String endpoint = "oss-cn-hangzhou.aliyuncs.com";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = "#填写自己的账户";
String accessKeySecret = "#填写自己的密钥";
// 填写Bucket名称,例如examplebucket。
String bucketName = "#自己的项目名称";
// 你上传到oss后的名字 会根据日期帮你创建文件夹
String objectName =fileName(multipartFile);
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
InputStream inputStream =multipartFile.getInputStream();
// 创建PutObject请求。
ossClient.putObject(bucketName, objectName, inputStream);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
String url="https://"+bucketName+"."+endpoint+"/"+objectName;
return url;
}
private static String fileName(MultipartFile myFile){
Calendar calendar=Calendar.getInstance();
String name= calendar.get(Calendar.YEAR)+"/"+(calendar.get((Calendar.MONTH))+1)+"/"+
calendar.get(Calendar.DATE)+"/"+ UUID.randomUUID().toString().replace("-","")
+myFile.getOriginalFilename();
return name;
}
}
2.elementui 异步上传OSS服务器
2.1 实现界面
public class UploadFile {
public static String upload(MultipartFile multipartFile){
// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
String endpoint = "oss-cn-hangzhou.aliyuncs.com";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = "#填写自己的账户";
String accessKeySecret = "#填写自己的密钥";
// 填写Bucket名称,例如examplebucket。
String bucketName = "#自己的项目名称";
// 你上传到oss后的名字 会根据日期帮你创建文件夹
String objectName =fileName(multipartFile);
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
InputStream inputStream =multipartFile.getInputStream();
// 创建PutObject请求。
ossClient.putObject(bucketName, objectName, inputStream);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
String url="https://"+bucketName+"."+endpoint+"/"+objectName;
return url;
}
private static String fileName(MultipartFile myFile){
Calendar calendar=Calendar.getInstance();
String name= calendar.get(Calendar.YEAR)+"/"+(calendar.get((Calendar.MONTH))+1)+"/"+
calendar.get(Calendar.DATE)+"/"+ UUID.randomUUID().toString().replace("-","")
+myFile.getOriginalFilename();
return name;
}
}
2.elementui 异步上传OSS服务器
2.1 实现界面
2.2 前端
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
阿里云界面
提交
2.2 封装一个工具类
public class UploadFile {
public static String upload(MultipartFile multipartFile){
// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
String endpoint = "oss-cn-hangzhou.aliyuncs.com";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = "#填写自己的ID";
String accessKeySecret = "填写自己的密钥";
// 填写Bucket名称,例如examplebucket。
String bucketName = "#填写自己的工程名";
// 你上传到oss后的名字 会根据日期帮你创建文件夹
String objectName =fileName(multipartFile);
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
InputStream inputStream =multipartFile.getInputStream();
// 创建PutObject请求。
ossClient.putObject(bucketName, objectName, inputStream);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
String url="https://"+bucketName+"."+endpoint+"/"+objectName;
return url;
}
private static String fileName(MultipartFile myFile){
Calendar calendar=Calendar.getInstance();
String name= calendar.get(Calendar.YEAR)+"/"+(calendar.get((Calendar.MONTH))+1)+"/"+
calendar.get(Calendar.DATE)+"/"+ UUID.randomUUID().toString().replace("-","")
+myFile.getOriginalFilename();
return name;
}
}
2.3 创建一个实体类
entity下
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserALi {
private String name;
private String password;
private String phone;
private String imageUrl;
}



