mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-26 09:11:52 +08:00
修复上传七牛云无mime type问题
This commit is contained in:
parent
2d78b02086
commit
7f9fc41555
@ -22,7 +22,7 @@ public interface FileClient {
|
|||||||
* @return 完整路径,即 HTTP 访问地址
|
* @return 完整路径,即 HTTP 访问地址
|
||||||
* @throws Exception 上传文件时,抛出 Exception 异常
|
* @throws Exception 上传文件时,抛出 Exception 异常
|
||||||
*/
|
*/
|
||||||
String upload(byte[] content, String path) throws Exception;
|
String upload(byte[] content, String path, String type) throws Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除文件
|
* 删除文件
|
||||||
|
@ -21,7 +21,7 @@ public class DBFileClient extends AbstractFileClient<DBFileClientConfig> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String upload(byte[] content, String path) {
|
public String upload(byte[] content, String path, String type) {
|
||||||
getDao().insert(getId(), path, content);
|
getDao().insert(getId(), path, content);
|
||||||
// 拼接返回路径
|
// 拼接返回路径
|
||||||
return super.formatFileUrl(config.getDomain(), path);
|
return super.formatFileUrl(config.getDomain(), path);
|
||||||
|
@ -38,7 +38,7 @@ public class FtpFileClient extends AbstractFileClient<FtpFileClientConfig> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String upload(byte[] content, String path) {
|
public String upload(byte[] content, String path, String type) {
|
||||||
// 执行写入
|
// 执行写入
|
||||||
String filePath = getFilePath(path);
|
String filePath = getFilePath(path);
|
||||||
String fileName = FileUtil.getName(filePath);
|
String fileName = FileUtil.getName(filePath);
|
||||||
|
@ -25,7 +25,7 @@ public class LocalFileClient extends AbstractFileClient<LocalFileClientConfig> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String upload(byte[] content, String path) {
|
public String upload(byte[] content, String path, String type) {
|
||||||
// 执行写入
|
// 执行写入
|
||||||
String filePath = getFilePath(path);
|
String filePath = getFilePath(path);
|
||||||
FileUtil.writeBytes(content, filePath);
|
FileUtil.writeBytes(content, filePath);
|
||||||
|
@ -82,10 +82,11 @@ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String upload(byte[] content, String path) throws Exception {
|
public String upload(byte[] content, String path, String type) throws Exception {
|
||||||
// 执行上传
|
// 执行上传
|
||||||
client.putObject(PutObjectArgs.builder()
|
client.putObject(PutObjectArgs.builder()
|
||||||
.bucket(config.getBucket()) // bucket 必须传递
|
.bucket(config.getBucket()) // bucket 必须传递
|
||||||
|
.contentType(type)
|
||||||
.object(path) // 相对路径作为 key
|
.object(path) // 相对路径作为 key
|
||||||
.stream(new ByteArrayInputStream(content), content.length, -1) // 文件内容
|
.stream(new ByteArrayInputStream(content), content.length, -1) // 文件内容
|
||||||
.build());
|
.build());
|
||||||
|
@ -31,7 +31,7 @@ public class SftpFileClient extends AbstractFileClient<SftpFileClientConfig> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String upload(byte[] content, String path) {
|
public String upload(byte[] content, String path, String type) {
|
||||||
// 执行写入
|
// 执行写入
|
||||||
String filePath = getFilePath(path);
|
String filePath = getFilePath(path);
|
||||||
File file = FileUtils.createTempFile(content);
|
File file = FileUtils.createTempFile(content);
|
||||||
|
@ -25,7 +25,7 @@ public class FtpFileClientTest {
|
|||||||
// 上传文件
|
// 上传文件
|
||||||
String path = IdUtil.fastSimpleUUID() + ".jpg";
|
String path = IdUtil.fastSimpleUUID() + ".jpg";
|
||||||
byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
||||||
String fullPath = client.upload(content, path);
|
String fullPath = client.upload(content, path, "image/jpeg");
|
||||||
System.out.println("访问地址:" + fullPath);
|
System.out.println("访问地址:" + fullPath);
|
||||||
if (false) {
|
if (false) {
|
||||||
byte[] bytes = client.getContent(path);
|
byte[] bytes = client.getContent(path);
|
||||||
|
@ -19,7 +19,7 @@ public class LocalFileClientTest {
|
|||||||
// 上传文件
|
// 上传文件
|
||||||
String path = IdUtil.fastSimpleUUID() + ".jpg";
|
String path = IdUtil.fastSimpleUUID() + ".jpg";
|
||||||
byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
||||||
String fullPath = client.upload(content, path);
|
String fullPath = client.upload(content, path, "image/jpeg");
|
||||||
System.out.println("访问地址:" + fullPath);
|
System.out.println("访问地址:" + fullPath);
|
||||||
client.delete(path);
|
client.delete(path);
|
||||||
}
|
}
|
||||||
|
@ -101,7 +101,7 @@ public class S3FileClientTest {
|
|||||||
// 上传文件
|
// 上传文件
|
||||||
String path = IdUtil.fastSimpleUUID() + ".jpg";
|
String path = IdUtil.fastSimpleUUID() + ".jpg";
|
||||||
byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
||||||
String fullPath = client.upload(content, path);
|
String fullPath = client.upload(content, path, "image/jpeg");
|
||||||
System.out.println("访问地址:" + fullPath);
|
System.out.println("访问地址:" + fullPath);
|
||||||
// 读取文件
|
// 读取文件
|
||||||
if (true) {
|
if (true) {
|
||||||
|
@ -23,7 +23,7 @@ public class SftpFileClientTest {
|
|||||||
// 上传文件
|
// 上传文件
|
||||||
String path = IdUtil.fastSimpleUUID() + ".jpg";
|
String path = IdUtil.fastSimpleUUID() + ".jpg";
|
||||||
byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
||||||
String fullPath = client.upload(content, path);
|
String fullPath = client.upload(content, path, "image/jpeg");
|
||||||
System.out.println("访问地址:" + fullPath);
|
System.out.println("访问地址:" + fullPath);
|
||||||
if (false) {
|
if (false) {
|
||||||
byte[] bytes = client.getContent(path);
|
byte[] bytes = client.getContent(path);
|
||||||
|
@ -230,7 +230,7 @@ public class FileConfigServiceImpl implements FileConfigService {
|
|||||||
this.validateFileConfigExists(id);
|
this.validateFileConfigExists(id);
|
||||||
// 上传文件
|
// 上传文件
|
||||||
byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
||||||
return fileClientFactory.getFileClient(id).upload(content, IdUtil.fastSimpleUUID() + ".jpg");
|
return fileClientFactory.getFileClient(id).upload(content, IdUtil.fastSimpleUUID() + ".jpg", "image/jpeg");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -52,7 +52,7 @@ public class FileServiceImpl implements FileService {
|
|||||||
// 上传到文件存储器
|
// 上传到文件存储器
|
||||||
FileClient client = fileConfigService.getMasterFileClient();
|
FileClient client = fileConfigService.getMasterFileClient();
|
||||||
Assert.notNull(client, "客户端(master) 不能为空");
|
Assert.notNull(client, "客户端(master) 不能为空");
|
||||||
String url = client.upload(content, path);
|
String url = client.upload(content, path, type);
|
||||||
|
|
||||||
// 保存到数据库
|
// 保存到数据库
|
||||||
FileDO file = new FileDO();
|
FileDO file = new FileDO();
|
||||||
|
@ -240,7 +240,7 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest {
|
|||||||
// mock 获得 Client
|
// mock 获得 Client
|
||||||
FileClient fileClient = mock(FileClient.class);
|
FileClient fileClient = mock(FileClient.class);
|
||||||
when(fileClientFactory.getFileClient(eq(id))).thenReturn(fileClient);
|
when(fileClientFactory.getFileClient(eq(id))).thenReturn(fileClient);
|
||||||
when(fileClient.upload(any(), any())).thenReturn("https://www.iocoder.cn");
|
when(fileClient.upload(any(), any(), any())).thenReturn("https://www.iocoder.cn");
|
||||||
|
|
||||||
// 调用,并断言
|
// 调用,并断言
|
||||||
assertEquals("https://www.iocoder.cn", fileConfigService.testFileConfig(id));
|
assertEquals("https://www.iocoder.cn", fileConfigService.testFileConfig(id));
|
||||||
|
@ -79,7 +79,7 @@ public class FileServiceTest extends BaseDbUnitTest {
|
|||||||
FileClient client = mock(FileClient.class);
|
FileClient client = mock(FileClient.class);
|
||||||
when(fileConfigService.getMasterFileClient()).thenReturn(client);
|
when(fileConfigService.getMasterFileClient()).thenReturn(client);
|
||||||
String url = randomString();
|
String url = randomString();
|
||||||
when(client.upload(same(content), same(path))).thenReturn(url);
|
when(client.upload(same(content), same(path), same("image/jpeg"))).thenReturn(url);
|
||||||
when(client.getId()).thenReturn(10L);
|
when(client.getId()).thenReturn(10L);
|
||||||
String name = "单测文件名";
|
String name = "单测文件名";
|
||||||
// 调用
|
// 调用
|
||||||
|
Loading…
Reference in New Issue
Block a user