您的位置:首页 > 产品设计 > UI/UE

SSH+easyUI实现文件上传

2015-09-14 20:04 441 查看

step1.思路

参考文献:http://wenku.baidu.com/view/3f4ce83e580216fc700afdd7.html


step 2.引包

1、commons-io-2.0.1.jar


2、commons-fileupload-1.2.2.jar


step3.easyUI前端

<form id="registerForm" method="post" action="register_assureUI.action" enctype="multipart/form-data">
<table>
<tr>
<td style="background-color: #EFEFEF;">
<font>营业执照:</font>
</td>
<td>
<input class="easyui-filebox" name="source" id="source_sign" style="width:100%"/>
</td>
</tr>
</table>
</form>
注意:此处运用了filebox组件,然后对于表单的上传格式采用了enctype="multipart/form-data",从而数据上传过后文件是以二进制文件的形式提交过去的。


step4.model

由于本例只需要完成文件夹之间的复制,而不是将文件存入数据库。所有定义pageModel即可:

public class UpLoad implements Serializable {
private File source;
//...getter()和setter()
}
当表单提交到action中是会被封装为File类型

step5.baseAction

/*======================保存营业执照图片的字段==================*/
/**
* 以源文件类型来保存上传的文件,并返回为文件存储的全路径
* @param upload
* @param uploadFileName
* @param key
* @return imageName 上传图片的名字
* @throws IOException
*/
protected String saveFile(String key, File upload, String uploadFileName)
throws IOException {
/*生成15位随机数作为图片名imageName*/
StringBuffer image=new StringBuffer();
for(int i=0;i<randomLength;i++){
image.append((int)Math.round((Math.random())*10));
}
String imageName=image.toString();
if (upload != null&&upload.isFile()) {

//其实如果项目不需要的话没必要用配置文件区路径,可以自己直接获取
// 1.设置保存上传的文件全部路径
String uploadPath = ServletActionContext.getServletContext()
.getRealPath("/") + key;
/*String uploadPath="F:\\work\\trunk\\src\\myDDI\\WebRoot\\uploadImage\\";*/
// 判断上传文件名是否有扩展名
int index = uploadFileName.lastIndexOf('.');
if (index != -1) {
imageName = imageName + uploadFileName.substring(index);
/*imageName = imageName + ".jpg";*/
}
// 如果文件夹不存在,就创建
File dir = new File(uploadPath);
if (!dir.exists()) {
dir.mkdirs();
}
File destFile = new File(uploadPath, imageName);
FileUtils.copyFile(upload, destFile);
return imageName;
}
return null;
}

/*======================保存营业执照图片的字段==================*/
step6.Action

/*上传图片*/
try{
String key = "upLoadImage/";
bl_path=this.saveFile(key,model.getSource(), model.getSource().getName()); //调用basicAction方法
} catch (Exception e) {
e.printStackTrace();
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: