Ext 中的上传效果怎么做,我是在数据库表中有一列数据 填写数据后,有一个浏览按钮,选中数据要进行保存

如有完整代码,发我邮箱也可以,谢谢这是我的邮箱smailmeng@sina.com... 如有完整代码,发我邮箱也可以,谢谢 这是我的邮箱smailmeng@sina.com 展开
 我来答
dualmind
2011-11-24 · TA获得超过270个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:175万
展开全部
出于安全原因JS无法访问客户端本地资源(文件系统, 摄像头==), 跟框架无关.
只能使用标准input(type="file" 当然该标签的值对JS也是不访问的)标签, 由浏览器实现本地文件系统访问, 然后随包含input的form一同POST到服务器端, 在服务器端可以访问request里的stream.
Ext包装了文件上传功能, 通过修改form的target到隐藏IFrame实现伪异步, 从而保持Ext.Ajax的一致编程外观.

目前项目正在使用的前台代码(ExtJs 3.0), 提供参考:
function(loadData, scope, url){
//loadData 回调
//scope 回调方法的this对象
//url上传的服务器路径
var _upload = function(){
//var _head = _tab.form.getForm().getValues();
refUtilNS.waitBox(true, '正在上传文件, 请稍候...');
Ext.Ajax.request({
url: url ? url : '../common/fileImport.action',
method: 'POST',
//jsonData: {head: _head},
form: _form.getForm().id,
isUpload: true,
success: function(resp, ops){
refUtilNS.waitBox(false);
var obj = Ext.decode(resp.responseText);
if (obj.success){
loadData.call(scope, obj.data);
}else{
Ext.Msg.alert('错误', '导入文件失败: ' + obj.message);
}
_win.close();
},
failure: function(){
refUtilNS.waitBox(false);
Ext.Msg.alert('错误', '连接服务器失败!');
_win.close();
}
});
};

var _form = new Ext.form.FormPanel({
border: false,
labelAlign: 'right',
labelWidth: 64,
frame: true,
layout: 'column',
fileUpload: true,
items: [{
columnWidth: 1,
layout: 'form',
items: [{
name: 'importFile',
xtype: 'textfield',
inputType: 'file',
fieldLabel: '文件'
}]
}]
});

var _win = new Ext.Window({
modal: true,
title: '数据导入',
width: 300,
height: 112,
layout: 'fit',
items: [_form],
buttons: [{
text: '上传',
handler: function(btn,E){
_upload();
}
},{
text: '关闭',
handler: function(btn, E){
_win.hide();
_win.destroy(true);
}
}]
});
_win.show();
};
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式