提交 738e0d91 编写于 作者: 偏锋书生's avatar 偏锋书生

支持多目录上传

上级 ca01c768
......@@ -14,6 +14,8 @@ else
echo "/opt/userconfig/ 存在用户定义的卷"
# 防止把找不到目录错No such file or directory
mkdir -p /data/duckula-data/conf/
#上传目录
mkdir -p /data/duckula-data/upload/flinkjar
#复制子目录,但是文件复制过去却是空的
cp -rf /opt/userconfig/* /data/duckula-data/conf
#复制文件,为了修复上面命令的不足
......
......@@ -2,17 +2,17 @@ package net.wicp.tams.duckula.ops.pages;
import java.io.File;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.ParameterizedType;
import java.util.List;
import java.util.Map;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.beanutils.PropertyUtilsBean;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.tuple.MutableTriple;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.util.TextStreamResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -23,10 +23,12 @@ import cn.hutool.core.bean.BeanUtil;
import lombok.extern.slf4j.Slf4j;
import net.wicp.tams.common.Result;
import net.wicp.tams.common.annotation.TamsBean;
import net.wicp.tams.common.apiext.IOUtil;
import net.wicp.tams.common.apiext.ReflectAssist;
import net.wicp.tams.common.apiext.StringUtil;
import net.wicp.tams.common.apiext.json.EasyUiAssist;
import net.wicp.tams.common.callback.IConvertValue;
import net.wicp.tams.component.SymbolConstantsCus;
import net.wicp.tams.component.components.Upload;
import net.wicp.tams.component.tools.TapestryAssist;
import net.wicp.tams.duckula.ops.WebTools;
......@@ -49,11 +51,20 @@ public abstract class ParentPageBean<T> extends ParentPage {
@Property
private String cols = queryAssetInfo.left;
// 子类可以覆盖,每个页面可以设置自己的文件上传相对路径,默认是上传文件的根路径
protected String getUploadRelaPath() {
return "/";
};
@Property
private TamsBean tamsbean = getTClass().getAnnotation(TamsBean.class);
protected final T t = TapestryAssist.getBeanFromPage(getTClass(), requestGlobals);
@Inject
@Symbol(SymbolConstantsCus.PATH_FILE_UPLOAD_DIR)
private String defaultUploadDir;// 默认的文件上传目录,在service里配置
public TextStreamResponse onSave() {
final T saveBean = TapestryAssist.getBeanFromPage(getTClass(), requestGlobals);
String id = request.getParameter("id");
......@@ -61,11 +72,11 @@ public abstract class ParentPageBean<T> extends ParentPage {
// 处理文件上传组件
String fieldName = request.getParameter(Upload.fixfieldname);
if (StringUtil.isNotNull(fieldName)) {//
List<File> saveUploads = req.saveUpload();
List<File> saveUploads = req.saveUpload(getUploadRelaPath());
if (CollectionUtils.isNotEmpty(saveUploads)) {
try {
PropertyUtils.setProperty(saveBean, fieldName.substring(0, fieldName.length() - 5),
saveUploads.get(0).getName());
IOUtil.mergeFolderAndFilePath(getUploadRelaPath(), saveUploads.get(0).getName()));
} catch (Exception e) {
log.error("上传文件时设置文件名属性错误", e);
}
......
......@@ -11,6 +11,12 @@ import net.wicp.tams.duckula.ops.pages.ParentPageBean;
public class FlinkTask extends ParentPageBean<RtdwFlinktask> {
//上传到文件的子目录
@Override
protected String getUploadRelaPath() {
return "flinkjar";
}
@Inject
private RtdwFlinktaskMapper rtdwFlinktaskMapper;
......
......@@ -59,7 +59,7 @@ public class AppModule {
// in the early stages of development.
configuration.override(SymbolConstants.PRODUCTION_MODE, false);
//设置文件上传的目录
configuration.override(SymbolConstantsCus.PATH_FILE_UPLOAD_DIR, "abs:/data/user");
configuration.override(SymbolConstantsCus.PATH_FILE_UPLOAD_DIR, "abs:/data/duckula-data/upload");
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册