package cn.iocoder.yudao.module.infra.framework.file.core.sftp;
|
|
import cn.hutool.core.io.resource.ResourceUtil;
|
import cn.hutool.core.util.IdUtil;
|
import cn.iocoder.yudao.module.infra.framework.file.core.client.sftp.SftpFileClient;
|
import cn.iocoder.yudao.module.infra.framework.file.core.client.sftp.SftpFileClientConfig;
|
import org.junit.jupiter.api.Disabled;
|
import org.junit.jupiter.api.Test;
|
|
/**
|
* {@link SftpFileClient} 集成测试
|
*
|
* @author 芋道源码
|
*/
|
public class SftpFileClientTest {
|
|
// docker run -p 2222:22 -d \
|
// -v $(pwd)/sftp-data:/home/foo/upload \
|
// atmoz/sftp \
|
// foo:pass:1001
|
|
@Test
|
@Disabled
|
public void test() {
|
// 创建客户端
|
SftpFileClientConfig config = new SftpFileClientConfig();
|
config.setDomain("http://127.0.0.1:48080");
|
config.setBasePath("/upload"); // 注意,这个是相对路径,不是实际 linux 上的路径!!!
|
config.setHost("127.0.0.1");
|
config.setPort(2222);
|
config.setUsername("foo");
|
config.setPassword("pass");
|
SftpFileClient client = new SftpFileClient(0L, config);
|
client.init();
|
// 上传文件
|
String path = IdUtil.fastSimpleUUID() + ".jpg";
|
byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
String fullPath = client.upload(content, path, "image/jpeg");
|
System.out.println("访问地址:" + fullPath);
|
if (false) {
|
byte[] bytes = client.getContent(path);
|
System.out.println("文件内容:" + bytes);
|
}
|
if (false) {
|
client.delete(path);
|
}
|
}
|
|
}
|