W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
函數(shù)原型
/* 文件選取
* @string type 操作類型,可用值open,save,saveto;默認(rèn)為open;
* @string title 窗體標(biāo)題,打開、保存、另存為;
* @object exts 可選取的文件類型,不是要求的類型不顯示;
* @object params 回調(diào)參數(shù),一些需要傳遞給回調(diào)函數(shù)的參數(shù)可用通過此參數(shù);bz='all':所有盤;bz='':僅本地盤;bz='盤標(biāo)志符(如baiduPCS)' 只打開此標(biāo)志符的盤(百度網(wǎng)盤)
* @array topfid 打開的目錄,是從要打開的目錄到根目錄的fid數(shù)組;
* @function callback 回調(diào)函數(shù);
*/
function OpenFile(type,title,exts,params,callback,topfid)
{
_config.selectall.icos=[];
if(type!='open' && type!='save' && type!='saveto') type='open';
if(!params) params={};
if(type=='save' || type=='saveto') params.multiple=false; //保存時不能多選
if(_window.windows['_W_openfile']) _window.windows['_W_openfile'].Close();
var win=_window.OpenFile(type,exts,title,params,topfid,windows['OpenFile'].features);
win.OnOK = function(){
var name=document.getElementById('file_select_input').value;
if(type=='open'){ //打開文件
if(document.getElementById('file_select_input').value=='' ){
Alert('請選擇文件!');
return ;
}else if(checkeURL(name)){//為網(wǎng)絡(luò)地址時
params.multiple=false;
params.ishref=1;
var data={'params':params,'icodata':{'url':name,'name':name.substr(name.lastIndexOf('/')+1)}};
}else if(_file.selected.length<1){//未選擇文件
Alert('請選擇文件!');
return ;
}else{
var data={};
var icosdatas=[];
for(var i in _file.selected){
icosdatas[i]=_config.sourcedata.icos[_file.selected[i]];
}
data.params=params;
if(params.multiple) data.icodata=icosdatas; //多選時返回數(shù)組
else data.icodata=icosdatas[0];
data.position=_config.sourcedata.folder[win.fid].path;
}
}else if(type=='save' ||type=='saveto'){//保存
var data={};
name=name.replace(/"/g,'');
//假如選擇了文件 ,提示是否覆蓋保存;
if(name && _file.selected.length>0){
if(confirm(_lang.cover_confirm+'"'+name+'?"')){
data.icodata=_config.sourcedata.icos[_file.selected[0]];
}else{
return ;
}
}
if(document.getElementById('file_select_input').value=='' ){
Alert('請輸入文件名稱,或選擇已有的文件!');
return ;
}
data.filecode=document.getElementById('file_code_select').value;
data.params=params;
data.name=name;
data.position=_config.sourcedata.folder[win.fid].path;
}
if( typeof callback=='function') callback(data);
win.Close();
}
win.OnCANCEL = function(){
win.Close();
}
};
詳細(xì)參數(shù)說明:
type:打開文件類型,可用值(“open”打開,“save”保存,“saveto”另存為);
title: 文件窗口標(biāo)題;
exts:定義要打開的文件類型;
結(jié)構(gòu)如:
{
“image”:['圖像文件(*.JPG,*.JPEG,*.PNG,*.GIF)',['JPG','JPEG','PNG','GIF'],’selected’],
”video”:['視頻',['VIDEO','WAV','MID','RM','RMVB','RTSP','FLV','SWF','ASF','ASX','WMV','MMS','AVI','MPG','MPEG','MOV'],”]
};
exts的每條將在文件窗體中以下拉列表方式顯示;
exts的每條數(shù)組的說明:
0:顯示的文本;
1:定義的擴(kuò)展名數(shù)組,只有此擴(kuò)展名數(shù)組內(nèi)的文件才會顯示,數(shù)組為空,不限制擴(kuò)展名;特殊擴(kuò)展名有(VIDEO,IMAGE,LINK,ATTACH,APP,DZZDOC);各項(xiàng)請使用大寫;
2:值為“selected”,表示此項(xiàng)選中;
4. params:帶入的參數(shù),此對象將會放到回調(diào)函數(shù)的參數(shù)data.params;
結(jié)構(gòu)為對象:如{multiple:true,cmd:’insertvideo’,bz:'', ... } ;
multiple:true|flase 通知文件窗體是否允許多選;
bz: 盤標(biāo)志符,bz='all':所有盤;bz='':僅本地盤 ;bz='baiduPCS' 只打開百度網(wǎng)盤;
5. callback:回調(diào)函數(shù);唯一參數(shù)為data;
data的數(shù)據(jù)結(jié)構(gòu)
{
icosdata:[object,...] || object multiple:true時 [object,...];
params :params 接口中帶入的params參數(shù)原封不動帶回,以供回調(diào)函數(shù)使用;
position: 選擇的文件所在的目錄的fid;
filecode:UTF-8||GBK||BIG-5 用戶選擇的要保存的文件的編碼;默認(rèn)為UTF-8,此項(xiàng)只有在type為save或saveto時帶回;
name:如xxxx.txt 用戶輸入的文件名和文件后綴名;
}
6. topfid: 默認(rèn)打開的目錄,是從要打開的目錄到跟目錄的fid數(shù)組;
7. 完整示例:
OpenFile(‘open’,'打開’,{“image”:['圖像文件(*.JPG,*.JPEG,*.PNG,*.GIF)', ['JPG','JPEG','PNG','GIF'],’selected’],”video”:['視頻', ['VIDEO','WAV','MID','RM','RMVB','RTSP','FLV','SWF','ASF','ASX','WMV','MMS','AVI','MPG','MPEG','MOV'],”]},{cmd:’insertimg’,multiple:true,bz:''},function(data){
acceptdata(data); //根據(jù)需要自定義
});
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: