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(" == 写入成功! == ");
}

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

  1. PHP中,文件上传实例

    PHP中,文件上传一般是通过move_uploaded_file()来实现的.  bool move_uploaded_file ( string filename, string destinati ...

  2. PHP学习笔记--文件目录操作(文件上传实例)

    文件操作是每个语言必须有的,不仅仅局限于PHP,这里我们就仅用PHP进行讲解 php的文件高级操作和文件上传实例我放在文章的最后部分.--以后我还会给大家写一个PHP类似于网盘操作的例子 注意:阅读此 ...

  3. PHP+ExtJS 文件上传示例

    xtJS 4 有一个非常方便的文件上传组件,可以用来将文件上传到服务器.本文PHP教程UncleToo将介绍使用PHP和ExtJS实现文件上传功能. 首先,创建文件上传组件Ext.form.Panel ...

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

    文件上传在web应用中是比较普遍的,相对于使用jsp等技术实现文件上传,Grails的文件上传着实让人喜爱,因为极其简单,让人看一遍就容易轻松记住!不多说,实例如下: 假设已有一个名为uploadFi ...

  5. Extjs文件上传问题总结

    本来文件上传是一个简单而常用的功能,但是,由于刚刚接触extjs,对extjs中的控件及其使用方法并不熟悉,导致本来一个很快就可以搞定的文件上传问题,弄了将近两天的时间.现将问题及解决办法发出来,供有 ...

  6. 自定义ExtJS文件上传

    日常工作中,一般文件上传都是跟随表单一起提交的,但是遇到form表单中有许多地方有文件上传时这种方式却不是很适用,以下是我工作中用的文件上传方式: { xtype: 'fileuploadfield' ...

  7. struts2+extjs文件上传完整实现(攻克了上传中的各种问题)

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/shanhuhau/article/details/28617999 首先须要引入上传控件 <s ...

  8. SpringMVC+ajax文件上传实例教程

    原文地址:https://blog.csdn.net/weixin_41092717/article/details/81080152 文件上传文件上传是项目开发中最常见的功能.为了能上传文件,必须将 ...

  9. ASP.NET多文件上传实例

    在Web应用程序开发中,避免不了要用到上传文件这个功能,但以前上传文件是个很麻烦的事,现在有了.NET,文件上传变得轻而易举.下面的这个例子实现了多文件上传功能.可以动态添加输入表单,上传的文件数量没 ...

随机推荐

  1. Android倒计时器——CountDownTimer

    Android倒计时器--CountDownTimer 说明 第一个参数是倒计时的时间 第二个参数是多长时间执行一次回调 /** * @param millisInFuture The number ...

  2. 你知道如何为iOS工程改名吗?

    我们在iOS开发中,难免会遇到项目做到一半要改名字的情况.如果项目名差的太大,工程名看起来总是不舒服的,有良心的开发者可能就会想着为工程改个贴切的名字,那么你就为用到本文记录的内容. 如果我们开发的两 ...

  3. BASH如何获得某个目录下的某类文件的文件名

    假设某个目录下有一堆以jpeg为后缀的文件名,我们需要在另一个目录中获得他们的文件名,并输出. 可以联合使用ls,awk,sed等命令来完成. 方法一: 使用ls列出目录下以.jpeg为结尾的文件,然 ...

  4. Java基本语法-----java数组(一维数组二维数组)

    嘿嘿!你们懂的,又是图片,委屈大家了. java数组(一维数组二维数组) [正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之气,日后必有一番作为!下面有个"顶"字,你就 ...

  5. GDAL库三个读取Jpeg2000格式驱动测试

    0.目的 GDAL库中提供了四五种读取Jpeg2000的驱动,但是各个驱动读取数据的效率各不相同,下面就针对三种读取jpeg2000的效率进行测试. GDAL库中提供的读取Jpeg2000的驱动有下面 ...

  6. 剑指offer面试题4 替换空格(java)

    注:利用java中stringBuilder,append,length方法很方便的解决字符串问题 /* * 剑指offer 替换空格 * xsf * */ /*开始替换空格的函数,length为原数 ...

  7. Quick-Cocos2d-X 捋一捋框架流程

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=535 一直比较关注Quick L ...

  8. vs 删除行尾空格

    vs 删除行尾空格 vs2010:Enter: Ctrl+H Find what: :b*$ Replace with: [Empty] Look in: Current Document Find ...

  9. Web开发技术的演变

    原文出处: WildFly   欢迎分享原创到伯乐头条 受到好文<Web开发的发展史>(英文)激发的灵感,写下我对web开发技术的认识. 1. 静态页面时代 大学时候,上机还得换卡穿拖鞋, ...

  10. Android之SharedPreferences内部原理浅析

    SharedPreferences内部工作原理: 1.调用getSharedPreferences();创建一个SharedPreferences对象,其中会先判断是否存在对应xml文件,如果发现存在 ...