返回dqilu博客列表

在Tiny中控制Uedit上传的文件

发布于 8月前
摘要
在Tiny中控制Uedit上传文件的存储位置

TinyUiEnterprise2已经集成了Uedit插件,但是没有action后台的实现,经过本人的摸索和测试,实现了对Uedit上传文件的控制,现把实现方法说明如下:

1、首先在page页面文件中加入Uedit插件,使用方法为#@ueditor,详细内容请查看TinyUiEnterprise2中对Uedit的介绍。

  如:#@ueditor("msgContent" "msgContent" {"initialFrameHeight":"200"})#end

2、Action中的实现

@RequestMapping("/multiupload")

@ResponseBody

public Map<?, ?> multiUpload(@RequestParam("upfile")TinyMultipartFile[] files,Model model) throws IOException{

String ls_path=ConfigurationUtil.getConfigurationManager().getConfiguration("UPLOADPATH");

String ls_filename="";

String ls_filepath="";

Map<String, Object> map = new HashMap<String, Object>();

File lfFile=null;

intli_pos=0;

if(files!=null){

for (inti = 0; i < files.length; i++) {

TinyMultipartFile file=files[i];

if(file!=null){

ls_filename = file.getOriginalFilename();

ls_filename = "/uploads/files/"+ls_filename;

ls_filepath=ls_path + ls_filename;

ls_filename = ls_filepath;

lfFile=new File(ls_filename);

for(intf=1;f<1000;f++){

if(lfFile.exists()){

li_pos = ls_filepath.indexOf(".");

ls_filename = ls_filepath.substring(0, li_pos)+String.format("%03d", f)+ls_filepath.substring(li_pos);

lfFile=new File(ls_filename);

}

else{

break;

}

}

super.saveFile(ls_filename, file);

map.put("state", "SUCCESS");

map.put("url", ls_filename.substring(ls_filename.indexOf("/uploads/files/")));

}

}

}

returnmap;

}

TinyMultipartFile 是Tiny重新定义的文件类型;

ConfigurationUtil.getConfigurationManager().getConfiguration("UPLOADPATH");用来获得在application.xml中设置的文件上传位置;

返回值必须有map.put("state", "SUCCESS"),否则Uedit会认为上传不成功

map.put("url",ls_filename.substring(ls_filename.indexOf("/uploads/files/")))

这个返回的是文件的存储路径,会在Uedit作为文件的超链接地址。

saveFile(ls_filepath, file)实现了上传文件写入的处理,具体实现如下:

protectedvoid saveFile(String path, TinyMultipartFile file) {

try {

      InputStream stream = file.getInputStream();

      OutputStream bos = new FileOutputStream(path);

intbytesRead = 0;

byte[] buffer = newbyte[8192];

while ( (bytesRead = stream.read(buffer, 0, 8192)) != -1) {

bos.write(buffer, 0, bytesRead);

      }

bos.close();

stream.close();

bos = null;

stream = null;

    }

catch (FileNotFoundException ex) {

      ;

    }

catch (IOException ex) {

      ;

    }

  }

3、Application.xml中需要增加的配置

application-properties属性下增加如下配置:

<propertyname="UPLOADPATH"value="D:/work/bnkj/pub/web/src/main/webapp"/>

用来指定上传文件的本地硬盘的实际存放路径。

<parser>属性下增加如下配置:

<upload-service bean-name="uploadService">

<property value="-1" name="sizeMax" />

<property value="-1" name="fileSizeMax" />

<property value="C:\temp" name="repository" />

<property value="1024" name="sizeThreshold" />

<property value="true" name="keepFormFieldInMemory" />

<property value="false" name="saveInFile" />

<property value="true" name="temporary" />

</upload-service>

用来指定上传文件的配置信息

4、经过以上的配置就可以实现文件的上传了,实现效果如下:

uedit.jpg

 
相关信息
     标签
       附件
      文件 标题 创建者

      评分 0次评分

      日程