跳到主要内容

上传文件至阿里OSS

使用阿里云OSS作为静态资源保存场所。使用文档

上传示例

依赖

implementation 'com.aliyun.oss:aliyun-sdk-oss:3.15.1'
implementation 'javax.xml.bind:jaxb-api:2.3.1'
implementation 'javax.activation:activation:1.1.1'
implementation 'org.glassfish.jaxb:jaxb-runtime:2.3.3'

spring boot示例

public FileDto upload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return null;
}
String fileName = FileUtil.generateUniqueFileName(file.getOriginalFilename());

CredentialsProvider credentialsProvider = new DefaultCredentialProvider(accessKeyId, accessKeySecret);
OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);
FileDto fileDto = new FileDto();
try {
ossClient.putObject(bucketName, fileName, file.getInputStream());
fileDto.setThumbUrl("https://" + bucketName + "." + endpoint + "/" + fileName);
fileDto.setUrl("https://" + bucketName + "." + endpoint + "/" + fileName);
fileDto.setName(fileName);
fileDto.setStatus("done");
return fileDto;
} catch (Exception e) {
log.error("Error uploading file to OSS", e);
fileDto.setStatus("error");

}
return fileDto;
}