`

Extjs 与struts2配合文件上传

 
阅读更多

 

 

<link rel="stylesheet" type="text/css" href="/ext/docs/resources/ext-all.css" />
<script type="text/javascript" src="/ext/docs/resources/ext-base.js"></script>
<script type="text/javascript" src="/ext/docs/resources/ext-all.js"></script>

 

 

<script type="text/javascript">
Ext.onReady(function(){
	
	Ext.QuickTips.init();
	var form = new Ext.form.FormPanel({
	     baseCls : 'x-plain',
	     labelWidth : 70,
	     fileUpload : true,
	     defaultType : 'textfield',
	     items : [{
		        xtype : 'textfield',
		        fieldLabel : '上传文件名',
		        name : 'userfile',
		        id : 'userfile',
		        inputType : 'file', //输入框类型 
		        blankText : 'File can\'t not empty.',
		        anchor : '100%' // anchor width by percentage
	       }]
	    });
	
	var win = new Ext.Window({
	     title : '照片上传',
	     width : 400,
	     height : 100,
	     minWidth : 300,
	     minHeight : 100,
	     layout : 'fit',
	     plain : true,
	     bodyStyle : 'padding:5px;',
	     buttonAlign : 'center',
	     items : form,
	     buttons : [{
		      text : '上传',
		      handler : function() {
				       if (  form.form.isValid()  ) {
					        if(Ext.getCmp('userfile').getValue() == ''){
					         	Ext.Msg.alert('错误','请选择你要上传的文件');
					         	return;
					        }
					        
					        form.getForm().submit({
						         url : '/aicpa/aicpaTest_uploadFile.action',
						         method : 'POST',
						         success : function(form, action) {
						          	Ext.Msg.alert('Message', action.result.success);
						          	win.close();
						         },
						         failure : function() {
						          	Ext.Msg.alert('Error', 'File upload failure.');
						         }
					        })
				       }
	      }
	     }, {
		      text : '关闭',
		      handler : function() {
		       		win.close();
		      }
	     }]
	    });
	
	
	win.show();
 
	
});

</script>


 

 

  struts2 中文件处理代码

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	// 文件
	private File userfile;
	// 文件名字
	private String userfileFileName;
	// 文件类型
	private String userfileContentType;

	/**
	 * 图片文件文件上传
	 * 
	 * @return
	 * @throws Exception
	 */
	public String uploadFile() {
		boolean isSuccess = saveFile(userfile, userfileFileName);
		if (isSuccess == false) {
			return "fail";
		}
		return "success";
	}

	private boolean saveFile(File lecture, String fileName) {
		// String secondPath = savepath.replace("\\", File.separator
		// ).replace("/", File.separator );
		String rootPath = ServletActionContext.getServletContext().getRealPath(
				"/");
		String saveDir = rootPath + "file" + File.separator + File.separator
				+ "images";
		File saveDirFile = new File(saveDir);

		if (!saveDirFile.exists()) {
			saveDirFile.mkdirs();
		}
		BufferedOutputStream bos = null;
		BufferedInputStream bis = null;
		try {
			bis = new BufferedInputStream(new FileInputStream(lecture));
			bos = new BufferedOutputStream(new FileOutputStream(new File(
					saveDir, fileName)));
			byte[] bs = new byte[1024];
			int len;
			while ((len = bis.read(bs, 0, 1024)) > 0) {
				bos.write(bs, 0, len);
			}
			bis.close();
			bos.close();
			lecture.delete();
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		} finally {
			try {
				if (bis != null) {
					bis.close();
				}
				if (bos != null) {
					bos.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
				return false;
			}
		}
		return true;

	}

	public File getUserfile() {
		return userfile;
	}

	public void setUserfile(File userfile) {
		this.userfile = userfile;
	}

	public String getUserfileFileName() {
		return userfileFileName;
	}

	public void setUserfileFileName(String userfileFileName) {
		this.userfileFileName = userfileFileName;
	}

	public String getUserfileContentType() {
		return userfileContentType;
	}

	public void setUserfileContentType(String userfileContentType) {
		this.userfileContentType = userfileContentType;
	}

 

 

 

 

 

分享到:
评论

相关推荐

    能运行的ExtJs+Struts2文件上传

    标题"能运行的ExtJs+Struts2文件上传"表明这是一个实现了文件上传功能的示例项目。在ExtJs中,可以利用其提供的FileInput组件创建一个文件选择器,用户可以选择文件并提交到服务器。Struts2则在服务器端处理文件上传...

    ExtJS4+strtus2文件上传实例源码

    在本文中,我们将深入探讨如何使用ExtJS4和Struts2框架实现文件上传功能。首先,让我们了解一下这两个关键技术和它们在文件上传中的作用。 **ExtJS4:** ExtJS4是一个强大的JavaScript库,用于构建富客户端应用程序...

    extjs struts2 多图片批量上传控件

    使用Struts2的拦截器可以进行安全检查,比如验证文件类型、大小,以及防止恶意文件上传。 总之,"extjs struts2 多图片批量上传控件"是一个整合了前后端技术的实用功能,它结合了ExtJS的用户界面优势和Struts2的...

    EXTJS_.7z文件上传

    以上就是EXTJS_.7z文件上传涉及的一些核心知识点,包括EXTJS的文件上传组件、与之配合的服务器端技术如Struts2和Spring MVC,以及相关工具和资源。在实际项目中,开发者需要理解这些技术并灵活运用,以实现安全、...

    批量图片预览上传(extjs,支持html5和flash)

    配合UploadButton或FormPanel,可以方便地实现文件上传功能。在批量图片预览的场景下,可以创建一个多选FileField,允许用户一次性选择多个图片文件。 2. **HTML5 File API**:HTML5的File API为浏览器提供了处理...

    Ext+struts2项目

    6. 页面布局:EXTJS2的布局管理器可以与Struts2的JSP页面配合,实现复杂的页面布局。 7. 插件整合:Struts2的插件机制允许开发者添加更多的功能,比如上传文件、国际化支持等。 通过这个项目,开发者不仅可以学习...

    EXTJS strut

    总的来说,"EXTJS strut"涉及的核心知识点包括EXTJS的组件使用(尤其是FileField和Grid Panel)、EXTJS与服务器的异步通信、Struts框架中的文件上传处理以及Apache Commons FileUpload库的使用。通过理解和掌握这些...

    ExtJs2.0 SSH 实现简单结构与上传文件 数据库同步树形结构

    描述中提到的“文件上传”功能,通常在`ExtJs2.0`中通过FileUploadField组件来实现,配合后台SSH框架接收文件并保存到服务器。这一过程涉及到文件的验证、临时存储和持久化,需要考虑到文件大小限制、安全性和效率等...

    实现的upload文件上传

    总的来说,实现“实现的upload文件上传”这个功能,我们需要结合`ExtJS`的前端交互,`JSP`的视图渲染,以及`Struts2`的后台处理。通过这些技术的配合,我们可以创建一个具有文件选择、进度显示和扩展名过滤的完整...

    swfupload+ext2

    总的来说,“swfupload+ext2”项目结合了SwfUpload 的前端文件上传功能,Ext2 的富客户端界面,以及Struts2 的后端处理能力,形成了一套完整的文件上传解决方案。开发者可以通过导入这个项目到MyEclipse,快速地搭建...

    毕业设计论文-IT计算机-[上传下载]ExtJS 2.2 开源网络硬盘系统_dogdisk-源码.zip

    这篇毕业设计论文主要探讨了基于IT计算机技术的网络硬盘系统,使用了ExtJS 2.2作为前端框架,配合JAVA后台实现了一个开源的在线存储解决方案。以下是对这一系统设计和实现的关键知识点的详细阐述。 首先,ExtJS 2.2...

    管理个人信息系统的设计与实现.docx

    文档管理模块用于文件的上传和下载;账目管理模块则协助用户管理财务;系统管理模块负责系统设置和维护。 - **技术实现**:使用JAVA语言的优势在于其跨平台性和丰富的类库,配合Struts和Spring框架,增强了系统的可...

Global site tag (gtag.js) - Google Analytics