file_mult_upload标签

file_mult_upload标签的属性 :

注1:此标签在modal_body,modal_foot中存在问题,可以使用modal_iframe代替。

file_mult_upload标签属性如下:

其中必填项加上了*号,如下所示 :

*id : id属性

*name : name属性

*url: 请求的url

size : size为尺寸标签,可以填的数值范围为(1-12),如size="6",file_mult_upload标签的默认size为12

wrap_have : 是否同时上传缩略图,可以填写的值为“false”和“true”

file_num_limit :上传文件数量限制

orig_upload_batch【2.2】之前上传的文件批次号--用于编辑时,即附件表中的文件批次号

use_opt【2.2】是否启用操作按钮--页面上的旋转和删除,注:如果值为true,则后台上传方法必须使用新版,即返回Map<String, Object>的那两个上传方法,同时业务controller中必须返回上传文件返回页面的ResultData中必须put进去fileId,此fileId从上传方法返回的Map<String, Object>中取出,示例请看TagDemoCtrl中的代码。

file_mult_upload标签的引入方式 :

<@file_mult_upload id="test_upload2" name="test_upload_name2" size="3" url="${base}/tag/uploadMultFile" />

file_mult_upload标签显示效果图 :

后台接收上传的文件时注意事项 :

1、不管是普通的上传文件,还是file_mult_upload标签上传文件,方法返回值必须为String
,于此同时,@RequestMapping中加入produces = "text/html; charset=UTF-8"。如下所示:

@RequestMapping(value="/uploadMultFile", produces = "text/html; charset=UTF-8")

2、不管是普通的上传文件,还是file_mult_upload标签上传文件,推荐使用后台controller参数中加如下参数获取文件的方式:

@RequestParam("test_upload_name2") MultipartFile[] files

其中“test_upload_name2"为页面input或者file_mult_upload标签的name属性。

3、(1)使用普通input上传文件时,需要随机生成一个唯一标识,可用UUID,如下即可:

String uuid = UUID.randomUUID().toString();//文件唯一标识

(2)使用file_mult_upload标签时,后台需要获取uuid参数,由于springmvc特性,如下即可:

public Object uploadMultFile (@RequestParam("test_upload_name2") MultipartFile[] files, String uuid) {
    ......
}

4、此uuid为同一批file_mult_upload标签上传的文件唯一标识(包括继续添加后的上传),默认将uuid作为在FTP上创建的存放同一批上传文件的文件夹名,也可以将此uuid存入数据库作为同一批文件的标识。

然后通过BaseCtrl中的公共上传文件方法上传,详细可见com.cnnct.module.demo.TagDemoCtrl中的uploadMultFile方法。

然后包含多文件上传标签的表单提交后,后台获取上传文件批次号的代码如下:

@RequestParam("demo_val") String demo

// 上传文件批次号
String uploadBatch = null;
if (demo!= null && !"".equals(demo)) {
    JSONObject obj = JSONObject.parseObject(demo);
    // 这个对应sys_attachment表中UPLOAD_BATCH字段的值,可以用这个查出文件信息
    uploadBatch = obj.getString("fileKey");
}

results matching ""

    No results matching ""