main
parent
2983d06fb3
commit
9e55bb6117
|
|
@ -31,7 +31,7 @@ public class OssController {
|
||||||
@ApiOperation(value = "上传文件" , notes = "上传文件", produces = "file" , response = R.class)
|
@ApiOperation(value = "上传文件" , notes = "上传文件", produces = "file" , response = R.class)
|
||||||
public R uploadFile(@RequestBody List<MultipartFile> files, HttpServletRequest request
|
public R uploadFile(@RequestBody List<MultipartFile> files, HttpServletRequest request
|
||||||
) {
|
) {
|
||||||
return ossService.uploadFile(files);
|
return ossService.uploadFileList(files);
|
||||||
}
|
}
|
||||||
|
|
||||||
//2、删除oss中的文件
|
//2、删除oss中的文件
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,12 @@ import com.ruoyi.common.core.domain.R;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface OssService {
|
public interface OssService {
|
||||||
|
|
||||||
R uploadFile(MultipartFile file);
|
R uploadFile(MultipartFile file);
|
||||||
|
R uploadFileList(List<MultipartFile> files);
|
||||||
|
|
||||||
R deleteFile(String path);
|
R deleteFile(String path);
|
||||||
}
|
}
|
||||||
|
|
@ -11,6 +11,8 @@ import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@Service("ossService")
|
@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
|
@Override
|
||||||
public R deleteFile(String path) {
|
public R deleteFile(String path) {
|
||||||
String host = schema + bucketName + "." + endpoint +"/";
|
String host = schema + bucketName + "." + endpoint +"/";
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue