items: [{ itemId: 'htlb', height: 160, xtype: 'extMutilUploadPanel', uploadConfig : { url : $GLOBAL.CONTEXT_PATH + "/saveArchivements", downloadUrl : $GLOBAL.CONTEXT_PATH + "/download" }, storeLoadUrl : $GLOBAL.CONTEXT_PATH + $GLOBAL.REQUEST.PROJECTS['getContractList'], listeners : { 'FilesUploadComplete' : function(fileStore) { var idsArray = new Array(); for (var index = 0; index < fileStore.getCount(); index++) { var record = fileStore.getAt(index); idsArray.push(record.get('id')); } var htlb = idsArray.join(","); _this.down('hidden[name="xmht"]').setValue(htlb); } } }]
以上是用例代码 要引入的文件有: '/styles/extjs/${extVersion }/js/plugins/ExtjsMutilUploader/plupload/plupload.full.min', '/styles/extjs/${extVersion }/js/plugins/ExtjsMutilUploader/ExtMutilUploadPanel', 这几天生病,没有更新过BLOG,所以这个例子也是从以前的代码中抄出来的,控件在附件中,下回去就可以用。
上传到后文件上传到后台后,前台将对文件自动生成一个uuid,可以通过store取到,然后保存就可以。
后台代码:
/**
* 保存或更新上传文件
*
* @return
* @author xiaomingyang
* Created On 2016年7月24日,21时38分
*/
@Before(SysLogInterceptor.class)
@LoggedAs("保存或更新上传文件")
public void saveArchivements() throws NestedTransactionHelpException {
Map<String, Object> jsonMap = new HashMap<String, Object>();
try {
UploadFile uploadFile = this.getFile();
if (uploadFile == null) {
jsonMap.put("ok", true);
}
String fileName = uploadFile.getFileName();
String contentType = uploadFile.getContentType();
File upFile = uploadFile.getFile();
Long fileSize = upFile.length();
String saveFileName = StringUtils.getUUIDKey();
FileUtils.moveFile(upFile, new File(saveFilePath + File.separator + saveFileName));
EtmFiles etmFile = new EtmFiles();
etmFile.set("id", StringUtils.getUUIDKey());
etmFile.set("FILENAME", fileName);
etmFile.set("FILESIZE", fileSize);
etmFile.set("FILETYPE", contentType);
etmFile.set("FILESTORAGEPATH", saveFilePath);
etmFile.set("FILESTORAGENAME", saveFileName);
etmFile.set("CREATETIME", DateUtils.getTimeStamp(new Date()));
etmFile.set("UPLOADERID", ShiroUtils.getUserId());
etmFile.save();
jsonMap.put("id", etmFile.get("id"));
jsonMap.put("ok", true);
jsonMap.put("success", true);
renderJson(jsonMap);
} catch (Exception e) {
log.error(e.getMessage());
jsonMap.put("success", false);
jsonMap.put("ok", true);
jsonMap.put("msg", e.getMessage());
renderJson(jsonMap);
throw new NestedTransactionHelpException(e.getMessage());
}
}
这两天人病歪歪的,就不多写了,要用的自己看一看例子,想一下,看下源码就知道了,源码很简单的