NutzCN Logo
问答 FormData上传多文件,后台获取不到文件数组,单文件可以拿到
发布于 2249天前 作者 TheBoy 4941 次浏览 复制 上一个帖子 下一个帖子
标签:

上传单文件可以,上传文件数组后台无法获取
后台:

@ApiOperation(value = "新增", nickname = "/file/add", httpMethod = "POST", response = Object.class, notes = "新增", authorizations = {
			@Authorization(value = "") })
	@ApiImplicitParams({
			@ApiImplicitParam(value = "fileList", paramType = "form", name = "fileList", dataType = "java.io.File"),
			@ApiImplicitParam(value = "customId", paramType = "form", name = "id", dataType = "Long") })
	@At(value = "/file/addComment")
	@AdaptBy(type = UploadAdaptor.class, args = { "${app.root}/tmp" })
	public Map<String, String> add(@Param("fileList") TempFile[] fileList, @Param("customId") Long customId) { 
		System.out.println(fileList);
		for (TempFile file : fileList) {
			System.out.println(file.getName());
		}
		Map<String, String> map = new HashMap<>();
		map.put("result", "test");
		return map;
	}

前台

let param = new FormData(); //创建form对象
param.append('fileList', fileList);
let config = {
                headers: {
                    'Content-Type': 'multipart/form-data'
                }
            };
 api.upload('/test/api/file/add', param, config, resp => {
                console.log(resp);
            },
            error => {
                this.$Message.error('失败');
            });
7 回复

api.upload是什么东西

来自炫酷的 NutzCN

自定义的上传方法,多了一个设置请求头的属性,现在后台在设置List file 接收时,会报转换异常

Caused by: org.nutz.castor.FailToCastObjectException: 
Fail to cast from <java.lang.String> to <java.util.List> for {[object File],[object File],[object File]}

用webupload

来自炫酷的 NutzCN

上传的文件数组,后台用什么来接收呢?

现在上传单个文件可以获取到,但上传文件数组就不行,是不是后台需要配置什么呢

那就是你的api.upload写得不对了

来自炫酷的 NutzCN

-_-|| ,检查了一下,果然是前端写错了...
谢谢。

添加回复
请先登陆
回到顶部