首先检查配置,无问题则是权限问题。
权限问题解决方法:
oss配置与测试:https://blog.csdn.net/jq1223/article/details/114368524
完整测试代码
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.ObjectMetadata;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
public class TestOss {
// 阿里云oss上传文件相关属性值
// 阿里云API的外网域名
public static final String ENDPOINT = "oss-cn-hangzhou.aliyuncs.com";
// 阿里云API的密钥
public static final String ACCESS_KEY_ID = "";
// 阿里云API的密钥Access Key Secret
public static final String ACCESS_KEY_SECRET = "";
// 阿里云API的bucket名称
public static final String BACKET_NAME = "video-lzz";
// 阿里云API自定义的文件夹名称
public static final String FOLDER = "avatar/";
public static void main(String[] args) {
// 创建ossclient对象,通过keyid key secret创建
OSSClient ossClient = new OSSClient(ENDPOINT, ACCESS_KEY_ID,ACCESS_KEY_SECRET);
// 上传文件的路径
// String path = "D:/图片/12.jpg";
String path = "C:\\Users\\lzz\\Desktop\\01\\测试用例\\logo.png";
// 根据路径创建file
File file = new File(path);
try {
// 以输入流的形式上传文件
InputStream is = new FileInputStream(file);
// 获取文件名
String fileName = file.getName();
System.out.println("file:"+fileName);
// 获取文件大小
long fileSize = file.length();
// 创建一个metadata对象
ObjectMetadata metadata = new ObjectMetadata();
// 给metadata赋值
// 文件大小
metadata.setContentLength(fileSize);
// 定义文件的类型以及网页编码:决定浏览器是以什么形式什么编码读取文件
String suffix = fileName.substring(fileName.lastIndexOf("."));
String str = "";
if(".jpg".equalsIgnoreCase(suffix)){
str = "image/jpeg";
}else if(".bmp".equalsIgnoreCase(suffix)){
str = "image/bmp";
}else if(".png".equalsIgnoreCase(suffix)){
str = "image/png";
}
metadata.setContentType(str);
// 指定文件的名称
metadata.setContentDisposition(fileName);
// 上传文件
ossClient.putObject(BACKET_NAME,FOLDER+fileName, file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}