❶ 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 插件是否已經安裝。