ExtJs4.0
js代码:
//文件上传与spring交互
Ext.onReady(function(){
Ext.create('Ext.form.Panel', {
title: 'File Uploader',
width: 400,
bodyPadding: 10,
frame: true,
renderTo: Ext.getBody(),
items: [{
xtype: 'filefield',
name: 'file',
fieldLabel: 'File',
labelWidth: 50,
msgTarget: 'side',
allowBlank: false,
anchor: '100%',
buttonText: 'Select a File...'
}],
buttons: [{
text: 'Upload',
handler: function() {
var form = this.up('form').getForm();
if(form.isValid()){
form.submit({
url: 'upload.htm',
waitMsg: 'Uploading your file...',
success: function(fp, o) {
Ext.Msg.alert('Success', o.result.mess);
}
});
}
}
}]
});
});
controller:
package com.kevin.controller;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.kevin.model.ExtJSFormResult;
import com.kevin.model.FileUploadBean;
import com.kevin.util.GlobalService;
/**
* 文件上传与下载Spring Mvc与ExtJs4
* @author Administrator
*
*/
@Controller
public class FileUploadController {
@RequestMapping(value="/upload",method = RequestMethod.POST)
public void upload1(FileUploadBean userVO,HttpServletResponse response) throws Exception{
if(!userVO.getFile().isEmpty()){
userVO.getFile().transferTo(new File("f:/upload/"+userVO.getFile().getOriginalFilename()));
}
//String json = "{success: true}";
response.setContentType(GlobalService.CONTENT_TYPE);
response.getWriter().write(GlobalService.UPLOAD_SUCCESS);
response.flushBuffer();
}
}
GlobalService全局的变量类:
package com.kevin.util;
/**
* 全局服务类
* @author Administrator
*
*/
public final class GlobalService {
/**
* @author:limingzhong
* @desc:定义相关全局静态变量
* @Date:2012-02-28
*/
public final static String UPLOAD_SUCCESS = "{success:true,mess:'文件上传成功!'}";
public final static String UPLOAD_FAILURE = "{success:false,mess:'文件上传失败!'}";
public final static String FILE_NO = "{success:false,mess:'文件不存在!'}";
public final static String FILE_YES = "{success:true,mess:'文件存在!'}";
public final static String CONTENT_TYPE = "text/html";
public final static String APPLICATION = "application/octet-stream";
public final static String PATH="F:\\upload";
}
FileUploadBean类,封闭file
package com.kevin.model;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
/**
* Represents file uploaded from extjs form
*
* @author Loiane Groner
* http://loiane.com
* http://loianegroner.com
*/
public class FileUploadBean {
private CommonsMultipartFile file;
public CommonsMultipartFile getFile() {
return file;
}
public void setFile(CommonsMultipartFile file) {
this.file = file;
}
}
分享到:
相关推荐
spring mvc extjs demo
extjs跟Spring mvc3中的数据交互,依然用的是JSON
前端使用Extjs后台使用spring mvc 数据访问层使用hibernate 数据库使用mysql,是学习extjs、spring mvc以及hibernate的比较好的例子,希望能帮到各位。
Extjs spring MVC Extjs spring MVC
Spring MVC 3.2.8支持的最高Hibernate版本是4.1.7,更高的Hibernate版本和Spring MVC 3.2.8组合会遇到兼容问题。 4、Hibernate集成二级缓存框架Ehcache。 5、数据库是MySQL、Oracle和SQL Server,Hibernate的Dialect...
spring mvc mybatis extjs 3.4 权限管理 ,调用oracle存储过程作为分页,是进销存产品开发的最好的参考案例
spring+mvc+mybatis+extjs整合 内含mysql数据库,很适合新手借鉴
基于ExtJS 4.2.1+Hibernate 4.1.7+Spring MVC 3.2.8的通用后台管理系统
ExtJS 4.2+Hibernate 4.1.7+Spring MVC 3.2.8完成的后台管理项目,觉得是值得参考的实用项目 下载链接
本教程从Extjs5的开发环境搭建开始,讲解了Extjs5的项目结构(包括核心文件的作用),Extjs类的一些基本概念,布局、事件、MVVM和MVC架构、路由器,数据绑定等的概念和实际使用,同时讲解了开发中常用的extjs UI...
运用extjs2和spring mvc的项目,非常具有学习价值,里面有一套非常好用的jdbc技术.
本demo是一个简单的java maven项目,数据库名和连接参数都配置在pom.xml中。后台使用了spring mvc,前台是extjs4,并且运用了extjs4的mvc模式。简单实现对一张表的增删改查操作,有不足之处,大家互相交流。
spring mvc+hibernate+extjs代码示例 请将数据库脚本在oracle数据库中执行后 直接运行该程序
1、采用Spring MVC的静态加载缓存功能,在首页将Javascript文件、CSS文件和图片等静态资源文件加载进来放进内存,极大提高ExtJS的加载速度。 2、三种皮肤主题:经典、灰色和海王星,支持多浏览器和多分辨率。 3、...
本人初步采用spring mvc3 mybatis3 extjs 3.4开发进销存软件,有很好的参考价值,其中数据库采用oracle,分页采用调用oracle的存储过程,有很好的学习价值,若是想开发简单的CRM和进销存系统是极品参考的系统。...
ExtJS4.1+MVC4+Spring.NET1.3+EF5 整合项目数据库(pdm、sql及sqlite数据库) 原文地址:http://blog.csdn.net/xz2001/article/details/8723266
整理了一下Spring、Spring mvc、Mybatis、ExtJs实战开发技术的内容,作为进阶提示
3、ExtJS的HtmlEditor的图片文件上传插件。 4、Grid列表和表单,包含添加、删除、批量删除、修改、查看、图片查看和按条件查询列表等功能。 5、导入导出Excel数据,支持xlsx和xls文件。 6、资源管理(菜单管理)。 7...
数据库在项目里面的一个sql文件里面 1、采用Spring MVC的静态加载缓存功能,在首页将Javascript文件、CSS文件和图片等静态资源文件加载进来放进内存,极大提高ExtJS的加载速度。 2、三种皮肤主题:经典、灰色和海王...
1、采用Spring MVC的静态加载缓存功能,在首页将Javascript文件、CSS文件和图片等静态资源文件加载进来放进内存,极大提高ExtJS的加载速度。 2、三种皮肤主题:经典、灰色和海王星,支持多浏览器和多分辨率。 3、...