❶ ExtJs中怎么上传文件
下面为大家介绍在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怎样判断formpanel中有文件上传组件
java代码中对文件上传的处理可以参考struct的文件上传,但是在返回处理结果时必须设置 response.setContentType("text/HTML"); 否则文件上传后,会出现一个下载对话框; var formPanel = new Ext.FormPanel({ }) 中必须加入fileUpload:true
❸ Extjs 如何实现上传及下载功能。
其实,EXTJS4.0中有自带的上传控件 ,你引用一下就行了
关键在于,你上传的文件是保存在数据库中,还是保存在服务器的硬盘上
保存在数据库中要化成二进制流,但缺点是文件大的时候,数据库很麻烦,并且写进数据库要转换,读出来也要转化
如果保存在服务器上,只在数据库中保存路径,然后就可以根据路径来下载,
删除的时候,也同样根据路径要删除服务器上的文件和数据库中的文件信息
祝你好运,如何你不明白的话,我可以给你源码看一下,之前我做的上传,下载和删除功能。
❹ 谁有extjs文件上传插件,急需
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> 我的ext测试页面-上传 </title>
<Meta http-equiv="Content-Type" Content="text/html; Charset=utf-8">
<link rel="stylesheet" type="text/css" href="../ext/resources/css/ext-all.css"/>
<script type="text/javascript" src="../ext/adapter/ext/ext-base-debug.js"></script>
<script type="text/javascript" src="../ext/ext-all-debug.js"></script>
<script type="text/javascript" src="../ext/src/locale/ext-lang-zh_CN.js"></script>
<script type="text/javascript" src="../ext/ux/filemgr/Ext.ux.UploadDialog/Ext.ux.UploadDialog.js"></script>
<link rel="stylesheet" type="text/css" href="../ext/ux/filemgr/Ext.ux.UploadDialog/Ext.ux.UploadDialog.css"/>
</head>
<script type="text/javascript">
Ext.BLANK_IMAGE_URL = '../ext/resources/images/default/s.gif';
</script>
<script type="text/javascript">
var dialog;
Ext.onReady(function(){
Ext.QuickTips.init();
dialog = new Ext.ux.UploadDialog.Dialog({
url:'',
reset_on_hide:false,//是否在窗口隐藏时清空表格中的文件
allow_close_on_upload:true,//是否在关闭窗口时进行上传
upload_autostart:false//是否用户选择一个文件就马上上传
});
//dialog.show("upload_btn");
});
function show(){
dialog.show();
}
</script>
<body>
<INPUT id="upload_btn" TYPE="button" VALUE="上传" onclick="show();"/>
</body>
</html>
❺ Extjs上传文件的时候,如何获取Form中的其他表单
如果你觉得在一个FORM里实现比较麻烦 那么你可以定义一个上传用的form 把这个form放入到你整体表单form中 提交的时候判断上传form是否有值 如有值先处理上传form 处理成功后再提交整体表单就OK了 希望这个思路可以帮助到你
❻ extjs 要在选择按钮后增加一个上传按钮,
单个按钮的话,参考如下,如果你是想通过两个按钮来表达开关稍作扩展即可:
new Ext.Button ({
scale:'Large',
fieldLabel :'是否',
iconAlign : 'left',
id : 'ynButton',
tag : 'Y',
handler :function(button){
if(button.tag == 'N'){
button.tag = 'Y';
Ext.getDom(button.getId()).innerHTML ='Y图片';
}else if(button.tag=='Y'){
button.tag= 'N';
Ext.getDom(button.getId()).innerHTML ='N图片';
}
}
})
❼ EXTJS控件的附件上传,json解析
前台循环出来只有1条,要搞清楚为什么?
理论上,如果a类型有相同类型的3条数据,每条数据里有1个附件。
那么3条数据的字段(id、存放附件)的值应该都不一样,而字段类型的值一样(都是a类型)。
那么要看你的JSON,是按照类型,还是按照ID为主键存取的。如果按照类型来读写,那多条相同类型的记录,能否通过数组来表达?
❽ ExtJS 文件上传(使用SwfUploadPanel插件)
应该是flash文件的问题,swf文件要放对地方,还有,检查一下浏览器的 flash 插件是否已经安装。