linhw 2024-05-22 16:16:40 +08:00
parent 2983d06fb3
commit 9e55bb6117
3 changed files with 31 additions and 1 deletions

View File

@ -31,7 +31,7 @@ public class OssController {
@ApiOperation(value = "上传文件" , notes = "上传文件", produces = "file" , response = R.class)
public R uploadFile(@RequestBody List<MultipartFile> files, HttpServletRequest request
) {
return ossService.uploadFile(files);
return ossService.uploadFileList(files);
}
//2、删除oss中的文件

View File

@ -5,10 +5,12 @@ import com.ruoyi.common.core.domain.R;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
public interface OssService {
R uploadFile(MultipartFile file);
R uploadFileList(List<MultipartFile> files);
R deleteFile(String path);
}

View File

@ -11,6 +11,8 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
@Service("ossService")
@ -48,6 +50,32 @@ public class OssServiceImpl implements OssService {
}
@Override
public R uploadFileList(List<MultipartFile> files) {
List<String> list = new ArrayList<>();
try {
//4、 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(schema + endpoint, accessKeyId, accessKeySecret);
for (MultipartFile file : files) {
String fileName = file.getOriginalFilename();//获取上传文件的名称
InputStream inputStream = file.getInputStream();
// 通过ossClient上传文件 参数1桶名 参数2上传后的文件路径+文件名 ,参数3要上传的文件流
String objectName = new DateTime().toString("yyyy/MM/dd/") +
UUID.randomUUID().toString().replace("-", "").substring(0, 16) +
"_" + fileName;//使用UUID+源文件名称后缀拼接生成objectName
ossClient.putObject(bucketName, objectName, inputStream);
// 关闭OSSClient。
ossClient.shutdown();
String path = schema + bucketName + "." + endpoint + "/" + objectName;//手动拼接上传成功的图片地址
list.add(path);
}
} catch (IOException e) {
throw new RuntimeException("图片上传失败");
}
return R.ok(list);
}
@Override
public R deleteFile(String path) {
String host = schema + bucketName + "." + endpoint +"/";