1.Ext代码
//formPanel表单的属性加入
fileUpload: true, //上传文件
//上传文件表单
{
fieldLabel : '上传文件',
name : 'uploadphoto',
inputType : 'file'
}
2.springMVC controller
@RequestMapping(params = "method=insert")
public ModelAndView insert(Student stu,HttpServletRequest request, HttpServletResponse reponse)
throws Exception {
int count = dataZxZdbnrService.insertStudent(stu);
reponse.setContentType("text/html"); //必须,否则会抛异常
String result = "";
if (count > 0) {
count = studentService.findByLast();
uploadTemplate(request,count);
result = "{stuid:"+count+",success:true}";
}
reponse.getWriter().write(result);
return null;
}
public void uploadTemplate(HttpServletRequest request,int id) throws Exception{
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile file = multipartRequest.getFile("uploadphoto");
if(file.getOriginalFilename()!=null&&!file.getOriginalFilename().equals("")){
String filenameold = file.getOriginalFilename();
String hz = filenameold.substring(filenameold.lastIndexOf(".", filenameold.length()), filenameold.length());
String filename =String.valueOf(id);
String newfilename=filename+hz;
long filesize=file.getSize();
String[] strFilePath = new String[]{ "template"};
InputStream input = file.getInputStream();
this.upload(strFilePath, filesize, newfilename, input);
}
}
public boolean upload(String[] strFilePath, long fileSize,
String strNewFileName,InputStream is) throws Exception {
boolean bUpload = false;
FtpBean ftp = new FtpBean();
try {
ftp.setSocketTimeout(12500);
ftp.setPassiveModeTransfer(false);
ftp.setPort(20);
ftp.ftpConnect("192.168.1.33","zhou","zhou");
} catch (Exception e) {
if (is != null) {
is.close();
}
ftp.close();
throw e;
}
for (int i = 0; i < strFilePath.length; i++) {// 鐢熸垚鎴栬缃洰褰�
try {
ftp.makeDirectory(strFilePath[i]);
} catch (Exception e) {
} finally {
ftp.setDirectory(strFilePath[i]);
}
}
try {
byte[] bytes = getBytesFromStream(is, (int) fileSize);
ftp.putBinaryFile(strNewFileName, bytes);
bUpload = true;
} catch (Exception e) {
throw e;
} finally {
if (is != null) {
is.close();
}
ftp.close();
}
return bUpload;
}
public byte[] getBytesFromStream(InputStream is, int StreamSize)
throws Exception {
byte[] bytes = new byte[StreamSize];
int offset = 0;
int numRead = 0;
while (offset < bytes.length
&& (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) {
offset += numRead;
}
if (offset < bytes.length) {
throw new Exception("鏂囦欢娴侀敊璇� ");
}
is.close();
return bytes;
}
3.applicationContext.xml
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="104857600"/>
<property name="maxInMemorySize" value="4096"/>
</bean>
4.加入必要jar包:
(1)commons-fileupload-1.2.jar
(2)commons-io-1.3.1
分享到:
相关推荐
Extjs+SpringMVC+MyBaits财务管控系统
使用Extjs+Mysql+SpringMVC+MyBatis开发的通用后台管理系统,里面包含用户管理、权限管理、角色管理等通用功能。
通用后台管理系统(ExtJS4.2+Hibernate4.1.7+SpringMVC3.2.8).pdf
项目分客户端exjst+springmvc+dubbo,服务端dubbo+mybatis,数据库oracle,纯注解配置,具有完善的事务控制,各种层的拦截器,分页。
Spring3.0+Hibernate4.0+SpringMVC整合ExtJS4是一个集成的应用系统,希望对学习javaweb和extjs的朋友有帮助
3ExtJS的HtmlEditor的图片文件上传插件。 4Grid列表和表单,包含添加、删除、批量删除、修改、查看、图片查看和按条件查询列表等功能。 5导入导出Excel数据,支持xlsx和xls文件。 6资源管理(菜单管理)。 7用户管理...
本实例为ExtJS4.2.1 MVC 和 SpringMVC3.0.5 基于注解模式下的开发实例,是桌面型的应用程序,包含全部需要的jar包,定义了项目的基于架构和实现,可在MyEclipse10打开和部署,对于有需要在该环境下进行开发的人员,...
freemarke+springmvc+mybatis+spring+shiro+extjs
前台完全基于 extjs mvc框架开发 想学习extjs mvc的可以看看 后台用了activiti工作流 写了一个简单的请假审批例子 想学习spring mvc的也可以下载看看
extjs视频教程,基于spring+springMvc+mybatis框架开发,适合初学者,跟着视频教程入门
Extjs+java+swf多文件上传进度条显示项目 采用了swf插件 后端使用java servlet 项目简单使用 页面美观,希望能多交流
ExtJS4+strtus2文件上传实例源码, 具体实现的功能看本人博客http://blog.csdn.net/biboheart/article/details/10380555
Extjs+hibernate+struts2+spring案例大全源代码,适合初学者下载使用,欢迎大家下载,欢迎大家交流
该程序是我耗时两周时间,边学边做而成,侧重Extjs方面,springMVC和hibernate只是简单的使用,如有错误,请忽略。 该项目只做大家学习使用,懂得分享,才能学到更多。
extjs4 + struct+ spring + hibernate 搭建后台。
ExtJS4.1+MVC3+Spring.NET1.3+EF5 整合项目用到的数据库 原文地址: http://blog.csdn.net/xz2001/article/details/8716541 注:该数据库是20130411日修改后的。
ExtJS4.1+MVC4+Spring.NET1.3+EF5 整合项目数据库(pdm、sql及sqlite数据库) 原文地址:http://blog.csdn.net/xz2001/article/details/8723266
ExtJS4+Accordion+SERVLET/STRUTS2+JSON+Ext.tree.Panel实例
extjs3.4+swfupload整合的上传功能,支持多文件上传