专栏首页用户画像ExtJs框架 文件上传

ExtJs框架 文件上传

一、前端页面引入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 条评论
登录 后参与评论

相关文章

  • 获得InputStream,读取配置文件的方式

    InputStream in = new BufferedInputStream(new FileInputStream("E:\\svn_new\\3icom...

    week
  • 决策树

    版权声明:本文为博主-姜兴琪原创文章,未经博主允许不得转载。 https://blog.csdn.net/jxq0816/article/details...

    week
  • 为什么MongoDB索引用B树,而Mysql用B+树?

    如果面试官问的是,为什么Mysql中Innodb的索引结构采取B+树?这个问题时,给自己留一条后路,不要把B树喷的一文不值。因为网上有些答案是说,B树不适合做文...

    week
  • Activity间数据传递方法汇总

    在Activity间传递的数据一般比较简单,但是有时候实际开发中也会传一些比较复杂的数据,本节一起来学习更多Activity间数据的传递。 一、常用数据...

    分享达人秀
  • 内部类, 静态内部类, 局部类, 匿名内部类的解析和区别

    众所周知,外部顶级类的类名需和类文件名相同,只能使用public和default。而内部类是指在外部类的内部再定义一个类,类名不需要和文件名相同。内部类可以是静...

    挨踢小子部落阁
  • Spring Boot读取配置的几种方式

    读取application文件 在application.yml或者properties文件中添加: info.address=USA info.company...

    Java技术栈
  • day53_BOS项目_05

    定区可以将取派员、分区、客户信息关联到一起。 页面:WEB-INF/pages/base/decidedzone.jsp

    黑泽君
  • 使用JAVA反射的利与弊

    我是攻城师
  • spring开发_BeanFactoryPostProcessor_容器后处理器

    http://www.cnblogs.com/hongten/gallery/image/112611.html

    Hongten
  • 设计模式之解释器模式(行为型)

    解释器模式(Interpreter Pattern):定义语言的文法,并且建立一个解释器来解释改语言中的句子,这里的“语言”意思是规定格式和语法的代码,所以解释...

    用户1208223

扫码关注云+社区

领取腾讯云代金券