mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 18:28:43 +08:00 
			
		
		
		
	| @@ -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 = "单测文件名"; | ||||||
|         // 调用 |         // 调用 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 芋道源码
					芋道源码