ExtJS:文件上传实例

var ext_dateFormat = ‘Y-m-d H:i:s‘;
var dateFormat = ‘yyyy-MM-dd HH:mm:ss‘;
var date = new Date();
Ext.onReady(function() {
	var fifp =Ext.create(‘Ext.form.Panel‘, {
        renderTo: ‘fi-form‘,
        width: 500,
        frame: true,
        title: ‘文件上传‘,
        bodyPadding: ‘10 10 0‘,

        defaults: {
            anchor: ‘100%‘,
            allowBlank: false,
            msgTarget: ‘side‘,
            labelWidth: 80
        },
        items: [{
            xtype: ‘textfield‘,
            fieldLabel: ‘样品编号‘,
            id:‘finfo‘,
            name:‘finfo‘
        },{
        	 xtype: ‘container‘,
             layout: ‘hbox‘,
             items: [{
            	 xtype: ‘textfield‘,
                 fieldLabel: ‘当前经度‘,
                 id:‘flongitude‘,
                 name:‘flongitude‘,
                 msgTarget: ‘side‘,
                 allowBlank: false,
                 labelWidth: 80
             }, {
            	 xtype: ‘textfield‘,
                 fieldLabel: ‘当前纬度‘,
                 id:‘flatitude‘,
                 name:‘flatitude‘,
                 msgTarget: ‘side‘,
                 allowBlank: false,
                 labelWidth: 80
             }]
        },{
			xtype : ‘textfield‘,
			fieldLabel : ‘上传时间‘,
			id : ‘ftime‘,
			name : ‘ftime‘,
			// yyyy-MM-dd HH:mm:ss
			value : Ext.Date.format(new Date(date.getFullYear(),date.getMonth(),date.getDate(),
					date.getHours(),date.getMinutes(),date.getSeconds()), ext_dateFormat),
			listeners : {
				‘focus‘ : function() {
					WdatePicker({
						dateFmt : dateFormat
					});
				}
			}
        },{
            xtype: ‘filefield‘,
            id: ‘fiupload‘,
            emptyText: ‘请点击右边按钮选择文件!‘,
            fieldLabel: ‘选择文件‘,
            name: ‘fiupload‘,
            buttonText: ‘浏览文件‘,
            buttonConfig: {
                iconCls: ‘upload-icon‘
            }
        }],

        buttons: [{
            text: ‘保存文件‘,
            handler: function(){
                var fiform = this.up(‘form‘).getForm();
                if(fiform.isValid()){
                    fiform.submit({
                    	type : ‘ajax‘,
                        url: ‘files/addData.action‘,
                        method : "POST",
                        waitMsg: ‘ 正在上传,请稍候...‘,
                        success: function(form, action) {
                        	Ext.Msg.alert(‘Success‘,‘文件上传成功!‘);
                        },
                    	failure:function(form, action)
                    	{
                    	Ext.Msg.alert("Failure","文件上传失败");
                    	}
                    });
                }
            }
        },{
            text: ‘重新上传‘,
            handler: function() {
                this.up(‘form‘).getForm().reset();
            }
        }]
    });

});

后台处理核心类方法:

	private static final int BUFFER_SIZE = 16 * 1024;

	public String addData() throws Exception {
		Timestamp ts = new Timestamp(System.currentTimeMillis());
		SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmssSSS");// 设置日期格式
		ts = Timestamp.valueOf(this.ftime);
		System.out.println(ts);
		String nowtime = df.format(new Date());
		System.out.println("uploadFileName = " + this.fiuploadFileName);
		System.out.println("uploadContentType = " + this.fiuploadContentType);
		System.out.println(nowtime);
		// upload -- wapps 下面的文件夹,用来存放图片
		String toSrc = ServletActionContext.getServletContext().getRealPath(
				"upload")
				+ "/" + nowtime + getFileExp(this.fiuploadFileName); // 使用時間戳作為文件名
		String toFilename = nowtime + getFileExp(this.fiuploadFileName);
		String toSrcPath = "./upload/" + toFilename;
		String toinfo = this.finfo;
		Double tolongitude = Double.parseDouble(this.flongitude);
		Double tolatitude = Double.parseDouble(this.flatitude);
		System.out.println("原文件名 : " + this.fiuploadFileName);
		System.out.println("文件描述 : " + toinfo);
		System.out.println("存放路径: " + toSrcPath);
		System.out.println("存放文件名: " + toFilename);
		System.out.println("当前经度 : " + tolongitude);
		System.out.println("当前维度 : " + tolatitude);
		File toFile = new File(toSrc);
		writeFile(this.fiupload, toFile);
		Files files = new Files(ts, toFilename, toSrcPath, toinfo, tolatitude,
				tolongitude);
		String result = filesService.addData(files);
		System.out.println(result);
		success = true;
		return SUCCESS;
	}

	private static void writeFile(File src, File dst) {
		System.out.println(" == 文件写入 == ");
		try {
			InputStream in = null;
			OutputStream out = null;
			try {

				in = new BufferedInputStream(new FileInputStream(src),
						BUFFER_SIZE);
				out = new BufferedOutputStream(new FileOutputStream(dst),
						BUFFER_SIZE);
				byte[] buffer = new byte[BUFFER_SIZE];
				while (in.read(buffer) > 0) {
					out.write(buffer);
				}
			} finally {
				if (null != in) {
					in.close();
				}
				if (null != out) {
					out.close();
				}
			}
		} catch (Exception e) {

			e.printStackTrace();
		}
		System.out.println(" == 写入成功! == ");
	}
时间: 12-25

ExtJS:文件上传实例的相关文章

PHP中,文件上传实例

PHP中,文件上传一般是通过move_uploaded_file()来实现的.  bool move_uploaded_file ( string filename, string destination ) 本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的).如果文件合法,则将 其移动为由 destination 指定的文件. 如果 filename 不是合法的上传文件,不会出现任何操作,move_uploaded_fi

SpringMVC多文件上传实例

后台Conroller import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.Date;

struts2+extjs文件上传完整实现(解决了上传中的各种问题)

首先需要引入上传控件 <script type="text/javascript" src="<%=basePath%>/js/ext/examples/ux/fileuploadfield/FileUploadField.js" charset="utf-8"></script> 弹出上传框对应extjs代码 var uploadForm=new Ext.FormPanel({ id:'uploadForm'

Grails笔记三:完整的文件上传实例

文件上传在web应用中是比较普遍的,相对于使用jsp等技术实现文件上传,Grails的文件上传着实让人喜爱,因为极其简单,让人看一遍就容易轻松记住!不多说,实例如下: 1.在gsp页面中使用Grails标签uploadForm <g:uploadForm name="myUpload" action="saveFile"> <input type="file" name="myFile" /> <

Android图片文件上传实例

原文:Android图片文件上传实例 源代码下载地址:http://www.zuidaima.com/share/1550463718132736.htm 支持拍照图片上传和从手机相册中获取图片上传到服务器端的功能 源码截图

PHP+ExtJS 文件上传示例

xtJS 4 有一个非常方便的文件上传组件,可以用来将文件上传到服务器.本文PHP教程UncleToo将介绍使用PHP和ExtJS实现文件上传功能. 首先,创建文件上传组件Ext.form.Panel,并添加一个上传按钮及按钮单击事件,该事件将验证并提交表单到upload.php的文件.看下面代码: ExtJS部分 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 3

Extjs文件上传问题总结

本来文件上传是一个简单而常用的功能,但是,由于刚刚接触extjs,对extjs中的控件及其使用方法并不熟悉,导致本来一个很快就可以搞定的文件上传问题,弄了将近两天的时间.现将问题及解决办法发出来,供有相同烦恼的博园参考.只是我第一次发文,如有不妥,望各位海涵. 问题描述:在文件上传的时候,在ie浏览器下,文件上传成功以后返回response时,回调函数直接报错:无法调用null或者空值的success属性. 首先看下extjs的代码: <html xmlns="http://www.w3.

文件上传实例

下面实例都是在墨者学院靶场做的,几种常见的上传姿势 1.结合iis5.x/6.0解析漏洞上传文件 先上传一个asp文件,抓包看看返回结果是什么 由上图我们可以知道服务器是iis6.0,接下来我们利用iis6.0解析漏洞来上传我们的一句话,添加一个asp目录  2.一句话木马图片 分析上图,先上传php文件,不允许,那么改下后缀名为png,还是不行,看来是对文件内容做了检查,做个图片马,上传  菜刀连接  3.绕过前端验证 先上传php文件 从上图可以看到上传的时候弹出一个弹窗,只让我们上传上面格

Jquery Uploadify多文件上传实例

jQuery Uploadify开发使用的语言是java. 详细的相关文档,可以参考官网的doc:http://www.uploadify.com/documentation/ 官网的讲解还是很详细的,关键是要耐心看.虽说是英文,单有百度翻译. 看官网jQuery uploadify有基于flash和html5 的2个版本.我使用的是基于flash的. Jsp页面引用的文件有: <!-- 转诊单的附件商场页面 --> <script type="text/javascript&