ext文件上传 java_ext2.0+java 文件上传

文件上传其实是一个很基本的页面操作,以前也做过。在jsp+servlet时,关键点是只要指定jsp用于提交上传文件资源的form的enctype属性为multipart/form- data即可。这个属性 其实是设置了提交的内容是以数据流的方式提交给servlet的。当然也包含了文件的流,这样在servlet里利用common- fileupload.jar里的接口方法,解析这个流,就可以获得上传的文件的信息。

今天在利用ext的js代替了jsp时,却碰到了点小麻烦。现在总结如下。

其实利用ext实现的原理是一样的,只是编写js的过程中要主要,当发送ajax请求时,要保证所发的请求是在enctype为multipart/form-data的form中,否则,后台无法解析上传文件信息。

对于表单的定义可以采用如下方法:

var uploadForm = new Ext.form.FormPanel({ url: "AuthManager.do?action=addCertificate",//ajax请求的地址 rame:true,//要设为true fileUpload:true,//一定要这一项,表明这个表单是做文件上传所用 id:'uploadForm', height:130, labelAlign: 'right', bodyStyle:'padding:6px 5px 0', //enctype : 'multipart/form-data', //其实这一项是没有用的,fileUpload:true的令一层意思也就是这个 items: new Ext.form.TextField({ xtype: 'textfield', //style:'margin-top:15px ', id:'upload_filepath', name:'file', allowBlank:false, fieldLabel:'选择文件', inputType:'file' //文件的形式 }) })

在需要完成提价功能的时候,可以这么调用uploadForm.getForm().submit();

这里需要指出的是,有一种做法会导致上传失败的:form依旧是如上的写法,只是里面没有url这一个属性,form是在发送ajax请求时调用的:

var uploadWin = new Ext.Window({ title:'上传文件', width:400, height:130, items:[uploadForm],//引入了上传文件的表单 buttonAlign :'center', buttons:[{ text:'上传', handler:uploadFile//调用函数完成提交动作 }] }); //导入证书函数function uploadFile(){

Ext.Ajax.request({ url: "AuthManager.do?action=addCertificate",

....})

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值