Ext上传文件

/*
 * 
 * This file is part of Ext JS 4
 * 
 * Copyright (c) 2011 Sencha Inc
 * 
 * Contact: http://www.sencha.com/contact
 * 
 * GNU General Public License Usage This file may be used under the terms of the
 * GNU General Public License version 3.0 as published by the Free Software
 * Foundation and appearing in the file LICENSE included in the packaging of
 * this file. Please review the following information to ensure the GNU General
 * Public License version 3.0 requirements will be met:
 * http://www.gnu.org/copyleft/gpl.html.
 * 
 * If you are unsure which license is appropriate for your use, please contact
 * the sales department at http://www.sencha.com/contact.
 * 
 */
Ext.require(['Ext.form.field.File', 'Ext.form.Panel', 'Ext.window.MessageBox']);

Ext.onReady(function() {

	Ext.define('State', {
		extend : 'Ext.data.Model',
		autoLoad : false,
		fields : [{
			type : 'string',
			name : 'text'
		}, {
			type : 'string',
			name : 'flag'
		}]
	});
	var store = Ext.create('Ext.data.Store', {
		model : "State",
		proxy : {
			type : "ajax",
			url : "./totosea/js/combobox_1.js",
			reader : {
				type : "json"
			}
		},
		autoLoad : true
	});

	var upform = Ext.create('Ext.form.Panel', {
		renderTo : 'adminfileupdata',
		width : 500,
		id : "upform",
		frame : true,
		title : '文件上传',
		bodyPadding : '10 10 0',
		x : 40,
		y : 40,
		defaults : {
			anchor : '100%',
			allowBlank : false,
			msgTarget : 'side',
			labelWidth : 100
		},

		items : [{
			xtype : 'combobox',
			fieldLabel : '文件用途',
			emptyText : '请选择文件用途分类',
			store : store,
			displayField : 'text',
			valueField : 'flag',
			name : 'flag'
		}, {
			xtype : 'textfield',
			fieldLabel : '自定义文件名称',
			emptyText : '请自定义文件名称,必填!',
			name : "uplname"
		}, {
			xtype : 'filefield',
			id : 'form-file',
			emptyText : '请选择本地文件',
			fieldLabel : '上传地址',
			name : 'upl',
			buttonText : '上传',
			buttonConfig : {
				iconCls : 'upload-icon'
			}
		}],

		buttons : [{
			text : '上传',
			handler : function() {
				var form = this.up('form').getForm();
				if (form.isValid()) {
					form.submit({
						url : 'uploadAdmin.do',
						waitMsg : '正在上传您的文件,请耐心等候...',
						success : function(form, action) {
							Ext.Msg.alert('提示信息', "文件保存成功");
						},
						failure : function() {
							Ext.Msg.alert("提示信息", "对不起,文件保存失败");
						}
					});
				}
			}
		}, {
			text : '重置',
			handler : function() {
				this.up('form').getForm().reset();
			}
		}]
	});
});

  

[{
	'text' : '可执行sql文件(TXT)',
	'flag' : '1'
}, {
	'text' : '普通文件',
	'flag' : '2'
}]

  

/**
	 * 资源文件上传到服务器
	 */
	public void uploadAdmin() {

		String flag = this.servletRequest.getParameter("flag");
		String uplname = this.servletRequest.getParameter("uplname");

		String filePath = this.getDocumentAdminPath() + uplFileName;
		File file = new File(filePath);

		/**
		 * 保存文件
		 */
		ResourceFile a = new ResourceFile();
		a.setCreateDate(new Date());
		a.setContentType(this.uplContentType);
		a.setFilePath("/document/admin/" + uplFileName);
		a.setFlag(Integer.parseInt(flag));
		a.setExeNumber(0);
		a.setExtension(ActionUtil.getExtention(uplFileName).substring(1));
		a.setName(uplname);

		/**
		 * 复制文件到磁盘
		 */
		ActionUtil.copy(upl, file);
		try {
			this.hibernateService.save(a);
		} catch (Exception e) {
			e.printStackTrace();
		}
		/**
		 * 返回结果
		 */
		// JSONObject json = new JSONObject();
		// json.put("msg", "文件上传成功");
		// json.put("success", "true");
		// System.out.println(json.toString());
		// JsonResult.json(json.toString(), servletResponse);
	}

  

    <action name="uploadAdmin" class="fileAction"
            method="uploadAdmin">
            <interceptor-ref name="fileUpload">
                <param name="allowedTypes">
                    application/vnd.ms-word, application/vnd.ms-excel,
                    application/pdf, text/plain,application/kswps
                </param>
                <param name="maximumSize">104857600</param>
                <param name="savePath">/upload</param>
            </interceptor-ref>
            <interceptor-ref name="defaultStack" />
            <result name="success">${successValue}</result>
            <result name="r" type="redirect">${successValue}</result>
        </action>
posted @ 2012-05-04 21:30  园林鸟  阅读(8803)  评论(0编辑  收藏  举报