前台用extjs的form 上传文件 请问后台用java如何处理

前台用extjs的form 上传文件 请问后台用java如何处理,第1张

java代码中对文件上传的处理可以参考struct的文件上传,但是在返回处理结果时必须设置

response.setContentType("text/HTML")

否则文件上传后,会出现一个下载对话框;

var formPanel = new Ext.FormPanel({ }) 中必须加入fileUpload:true;

否则不会实现文件上传;而且ext对文件上传时,不会将formPanel 中存在的参数进行提交~

下面为大家介绍在ExtJs中上传文件的几种方法

第一种方法:传统的上传方式

在formpanal中增加一个fileUpload的属性

例子代码:

JScript 代码 复制

Ext.onReady(function(){

var form = new Ext.form.FormPanel({

renderTo:'file',

labelAlign: 'right',

title: '文件上传',

labelWidth: 60,

frame:true,

url: 服务器处理上传功能的url地址,//fileUploadServlet

width: 300,

height:200,

fileUpload: true,

items: [{

xtype: 'textfield',

fieldLabel: '文件名',

name: 'file',

inputType: 'file'//文件类型

}],

buttons: [{

text: '上传',

handler: function() {

form.getForm().submit({

success: function(form, response){

Ext.Msg.alert('信息', response.result.msg)

},

failure: function(){

Ext.Msg.alert('错误', '文件上传失败')

}

})

}

}]

})

})

第二种方法:借助Ext.ux.UploadDialog.Dialog的组件,在编码时需要导入两个文件

需要引入 Ext.ux.UploadDialog 样式文件 和 Ext.ux.UploadDialog.packed脚本文件。

例子代码

//在使用此方法进行文件上传时,其后台往页面的返回值类型是这样的:

//{'success':true,'message':'上传成功'}

//如果没有success:true,无论上传成功与否,显示的都是上传失败,其实这个和form.submit()的提交方式是一个道理。

var dialog = new Ext.ux.UploadDialog.Dialog({

autoCreate: true,

closable: true,

collapsible: false,

draggable: true,

minWidth: 400,

minHeight: 200,

width: 400,

height: 350,

permitted_extensions:['JPG','jpg','jpeg','JPEG','GIF','gif','xls','XLS'],

proxyDrag: true,

resizable: true,

constraintoviewport: true,

title: '文件上传',

url:用于处理上传文件功能的Url,

reset_on_hide: false,

allow_close_on_upload: true ,

upload_autostart: false

})

//定义上传文件的按钮

var btnShow = new Ext.Button({

text:'上传文件',

listeners:{

click:function(btnThis,eventobj){

dialog.show()

}

}

})

给你一个思路。

extjs只是一个前端框架。

上传文件还是要用jsp里的java代码上传,你可以使用别人已经写好的jar包。比如smartupload组件等等。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/tougao/12007651.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存