`

extjs3+springMVC上传文件

阅读更多

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

分享到:
评论

相关推荐

    可二次开发Extjs4.0通用后台管理系统源码完整大型项目ExtJS 4.2+Hibernate 4.1.7+SpringMVC

    3ExtJS的HtmlEditor的图片文件上传插件。 4Grid列表和表单,包含添加、删除、批量删除、修改、查看、图片查看和按条件查询列表等功能。 5导入导出Excel数据,支持xlsx和xls文件。 6资源管理(菜单管理)。 7用户管理...

    最新JAVA通用后台管理系统(ExtJS 4.2+Hibernate 4.1.7+Spring MVC 3.2.8)Eclipse版本

    3、ExtJS的HtmlEditor的图片文件上传插件。 4、Grid列表和表单,包含添加、删除、批量删除、修改、查看、图片查看和按条件查询列表等功能。 5、导入导出Excel数据,支持xlsx和xls文件。 6、资源管理(菜单管理)。 7...

    extjs java 上传文件进度条

    总结来说,"extjs java 上传文件进度条"这个主题涉及到前端与后端的交互,需要理解ExtJS组件的使用,熟悉Ajax异步上传,掌握Java服务器处理文件上传的逻辑,以及HTTP协议、JSON通信等相关知识。通过这些技术的结合,...

    最新JAVA通用后台管理系统(ExtJS 4.2+Hibernate 4.1.7+Spring MVC 3.2.8)MyEclipse版本

    3、ExtJS的HtmlEditor的图片文件上传插件。 4、Grid列表和表单,包含添加、删除、批量删除、修改、查看、图片查看和按条件查询列表等功能。 5、导入导出Excel数据,支持xlsx和xls文件。 6、资源管理(菜单管理)。 7...

    Ext+Spring Mvc实现文件上传

    ext上传组件的使用(结合springMvc),本人在项目中使用过的

    SpringMvc3+extjs4实现上传与下载功能

    在使用SpringMvc3与extjs4实现上传与下载功能的过程中,涉及到前端JavaScript、后端Spring MVC框架、文件处理等多个知识点。下面详细说明。 首先,在前端实现文件上传功能时,使用了Extjs4框架构建了一个表单面板...

    EXTJS---完整数据库代码,全网唯一,非常适合EXTJS搭建框架,包含动态树,菜单等

    在EXTJS应用中,这类功能通常使用EXTJS的文件上传组件和后台的文件管理系统相结合,提供用户友好的界面和强大的文件管理能力。 综合以上内容,这个EXTJS项目提供了一整套解决方案,包括前端UI、动态数据交互以及...

    ExtJS_MVC框架的搭建实例

    - **commons-fileupload.jar**: 用于支持文件上传功能。 - **commons-io.jar**: 提供了一系列IO操作的工具类。 - **commons-lang.jar / commons-lang3.jar**: 扩展了标准的Java语言工具类,提供了更多实用的方法。 -...

    SpringMvc MultipartFile实现图片文件上传示例

    在本文中,我们将深入探讨如何使用Spring MVC框架中的MultipartFile接口来实现图片文件的上传功能。Spring MVC是Java Web开发中广泛使用的MVC框架,它提供了处理HTTP请求的强大能力,包括文件上传。以下是一个简单的...

    javassm源码Extjs4.0通用后台管理系统源码

    根据提供的文件信息,本文将对“javassm源码Extjs4.0通用后台管理系统源码”进行深入解析,重点围绕其技术特点、应用场景及扩展性等方面展开。 ### javassm框架简介 #### JavaSSM JavaSSM是指基于Java语言开发的...

    Java通用后台管理系统源码 JAVATYHTXT.rar

    3、ExtJS的HtmlEditor的图片文件上传插件。 4、Grid列表和表单,包含添加、删除、批量删除、修改、查看、图片查看和按条件查询列表等功能。 5、导入导出Excel数据,支持xlsx和xls文件。 6、资源管理(菜单管理)。 7...

    技术点.doc

    * 文件上传工具和远程连接工具:需要了解文件上传工具和远程连接工具的基本概念和原则,包括FileZilla和PuTTY等工具。 * linux 基本操作:需要了解linux基本操作的基本概念和原则。 * 职业发展和职业生涯规划:需要...

Global site tag (gtag.js) - Google Analytics