完成新 File 的功能

This commit is contained in:
YunaiV
2022-03-16 23:31:26 +08:00
parent cdcecd0d4a
commit 87670d18fd
26 changed files with 277 additions and 205 deletions

View File

@ -1,8 +1,6 @@
package cn.iocoder.yudao.framework.file.core.client;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.file.core.client.FileClient;
import cn.iocoder.yudao.framework.file.core.client.FileClientConfig;
import lombok.extern.slf4j.Slf4j;
/**
@ -65,7 +63,7 @@ public abstract class AbstractFileClient<Config extends FileClientConfig> implem
* @return URL 访问地址
*/
protected String formatFileUrl(String domain, String path) {
return StrUtil.format("{}/system-api/{}/get/{}", domain, getId(), path);
return StrUtil.format("{}/admin-api/infra/file/{}/get/{}", domain, getId(), path);
}
}

View File

@ -18,24 +18,31 @@ public class DBFileClient extends AbstractFileClient<DBFileClientConfig> {
@Override
protected void doInit() {
dao = SpringUtil.getBean(DBFileContentFrameworkDAO.class);
}
@Override
public String upload(byte[] content, String path) {
dao.insert(getId(), path, content);
getDao().insert(getId(), path, content);
// 拼接返回路径
return super.formatFileUrl(config.getDomain(), path);
}
@Override
public void delete(String path) {
dao.delete(getId(), path);
getDao().delete(getId(), path);
}
@Override
public byte[] getContent(String path) {
return dao.selectContent(getId(), path);
return getDao().selectContent(getId(), path);
}
private DBFileContentFrameworkDAO getDao() {
// 延迟获取,因为 SpringUtil 初始化太慢
if (dao == null) {
dao = SpringUtil.getBean(DBFileContentFrameworkDAO.class);
}
return dao;
}
}

View File

@ -7,10 +7,30 @@ package cn.iocoder.yudao.framework.file.core.client.db;
*/
public interface DBFileContentFrameworkDAO {
/**
* 插入文件内容
*
* @param configId 配置编号
* @param path 路径
* @param content 内容
*/
void insert(Long configId, String path, byte[] content);
/**
* 删除文件内容
*
* @param configId 配置编号
* @param path 路径
*/
void delete(Long configId, String path);
/**
* 获得文件内容
*
* @param configId 配置编号
* @param path 路径
* @return 内容
*/
byte[] selectContent(Long configId, String path);
}