ExtJs框架 文件上传

来源:互联网 发布:菜鸟网络盈利模式 编辑:程序博客网 时间:2024/06/05 17:50

一、前端页面引入ExtJS

<!--ExtJs框架开始--><script type="text/javascript"src="../../include/Ext/adapter/ext/ext-base.js"></script><script type="text/javascript" src="../../include/Ext/ext-all.js"></script><script src="../../include/Ext/src/locale/ext-lang-zh_CN.js"type="text/javascript"></script><link rel="stylesheet" type="text/css"href="../../include/Ext/resources/css/ext-all.css" /><!--ExtJs框架结束-->

二、前端页面创建文本上传域 (代码888行)

var file = new Ext.form.TextField({name : 'upload',/* name: 'file':名称,重要,因为service端要根据这个名称接收文件 */fieldLabel : 'file upload',inputType : 'file',allowBlank : false,blankText : '请浏览文件'});//提交按钮处理方法var btnsubmitclick = function() {if (uploadForm.getForm().isValid()) {uploadForm.getForm().submit();alert("upload success");}};//重置按钮"点击时"处理方法var btnresetclick = function() {uploadForm.getForm().reset();};//表单var uploadForm = new Ext.form.FormPanel({frame : true,fileUpload : true,url : '/BMS/file/upload',items : [ file ],buttons : [ {text : 'upload',handler : btnsubmitclick}, {                    text: 'cancel',                    handler: btnresetclick                }]    });

三、前端页面3583行 在items中加入uploadForm
items:[uploadForm,{xtype:'textfield',fieldLabel:'建设单位',labelAligin:'right',name:'buildUnit',}]
四、struts.xml 99行

<package name="file" extends="struts-default" namespace="/file"><action name="upload" method="upload" class="com.jdwy.action.FileAction"><result name="success">/BMS/index.jsp</result><param name="uploadPath">/upload</param></action></package>
五、FileAction.java
package com.jdwy.action;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import org.apache.struts2.ServletActionContext;public class FileAction{/** *  */private File upload;private String uploadFileName;public File getUpload() {return upload;}public void setUpload(File upload) {this.upload = upload;}private String uploadPath;public String upload() throws Exception{InputStream is=new FileInputStream(upload);String path=ServletActionContext.getServletContext().getRealPath(uploadPath);OutputStream os=new FileOutputStream(path+"/"+uploadFileName);byte buffer[]=new byte[1024];int cnt;while((cnt=is.read(buffer))>0){os.write(buffer,0,cnt);}os.close();is.close();return "success";} public String getUploadFileName() {return uploadFileName;}public void setUploadFileName(String uploadFileName) {this.uploadFileName = uploadFileName;}public String getUploadPath() {return uploadPath;}public void setUploadPath(String uploadPath) {this.uploadPath = uploadPath;}}




0 0
原创粉丝点击