NutzCN Logo
问答 文件上传如何获得附加信息?
发布于 2995天前 作者 qq_a930202f 2140 次浏览 复制 上一个帖子 下一个帖子
标签:

[http-nio-8080-exec-29] DEBUG org.nutz.mvc.upload.FastUploading -Upload File info: FilePath=[null],fieldName=[new_6] [http-nio-8080-exec-29] DEBUG org.nutz.mvc.upload.FastUploading -Found a param, name=[new_6] value=[嘟嘟.jpg]
如何能获取 [嘟嘟.jpg]
下面是上传的代码片段

@AdaptBy(type=UploadAdaptor.class, args="ioc:upload")
public Object upload(@Param("f")TempFile  tempFile,,ServletContext sCtt, AdaptorErrorContext errCtx) {
........
........
........
}
7 回复
tempFile.getMeta();

@wendal
之前debug tempFile.getMeta();的值是
[null, null, null, filename=dccfd80ba965d51dbdc3a7df7c7c211248230212_m.jpg, null, null, null, Content-Disposition=form-data, name=f, null, null, null, null, null, null, Content-Type=image/jpeg]
没有Found a param, name=[new_6] value=[嘟嘟.jpg]这个的

debug发现在

/**
 * 
 * @author zozoh(zozohtnt@gmail.com)
 * @author wendal(wendal1985@gmail.com)
 * @author juqkai(juqkai@gmail.com)
 */
public abstract class AbstractAdaptor implements HttpAdaptor {

......
line 238       int len = Math.min(args.length, null == pathArgs ? 0 : pathArgs.length);
       for (int i = 0; i < args.length; i++) {
            Object value = null;
            if (i < len) { // 路径参数
                value = null == pathArgs ? null : pathArgs[i];
            } else { // 普通参数
                value = obj;
            }
            try {
                args[i] = injs[i].get(sc, req, resp, value);   <------这里开始name=[new_6] value=[嘟嘟.jpg]这个数据就没了。没有赋给args[i] 
            }
......
}

不知道怎么能在上传时拿到这个值

参数名new_6?那直接声明个@Param("new_6")String name

或者通过下面的代码获取所有参数

@Param("..")Map<String, Object> params

为什么要弃用这个方法的呢? 里面的filename 很有用呀 文件名字

   @Deprecated
    public FieldMeta getMeta() {
        return meta;
    }

@sunhai1988 仔细看TempFile,有替代方法的

对这个

getSubmittedFileName();
添加回复
请先登陆
回到顶部