Esempio n. 1
0
 var dialog = new HistoryDialog({title: filename, content: contents}, function(op, path,neid,rev) {
     if (op == "restore") {
     	$('body').data('category','historyrecover').data('action','历史版本画面恢复').data('content','文件');
         FileModel.restore(function(ret) {
             if (ret.code != 200) {
                 Tips.warn(ret.message);
                 return;
             } else {
                 Tips.show(ret.message);
             }
             context.reload();
             dialog.close();
         }, path,'','',neid,rev,param.prefix_neid);
     } else if (op == "download") {
         var uri = FileModel.downloadLink(path,'','',neid,'','',rev);
         Util.sendDirectlyRequest('历史版本','历史版本画面下载','文件');
         $('#download-iframe').attr('src', uri + '&rev=' + rev);
     }
 });
Esempio n. 2
0
 confirmDownload(function(){
     uri = FileModel.downloadLink(param.path,param.path_type, param.from,param.neid, param.dataUrl, token);
     setUri();
 });
Esempio n. 3
0
 confirmDownload(function(){
     uri = FileModel.downloadLink(fileObj.path, fileObj.dataUrl, token);
     setUri();
 });
Esempio n. 4
0
    function download(context, param, token) {
    	Util.sendBuridPointRequest();
        var uri = "about:blank";

        if(param.dataUrl || (param[0] && param[0].dataUrl)){
            uri = (param.dataUrl || param[0].dataUrl) +'?token='+ token;
            uri = encodeURI(uri).replace(/#/g,"%23");
            $('#download-iframe').attr('src', uri);
            return;
        }

        function confirmDownload(fn){
            var dg = new Dialog(_('提示'), function(context){
                var template = '<div class="dialog-oldversion">' + _("加密文件需要使用客户端才能解密,如果您还未下载客户端请安装客户端。") + '<br><a class="link-button" target="_blank" href="/client/windows/bin/LenovoBox.zip">'+_('下载Windows客户端')+'</a><br><br></div><div class="dialog-button-area"><a id="cancel" class="dialog-button ok">' + _("继续") + '</a><a id="cancel" class="dialog-button cancel">' + _("关闭") + '</a></div>';
                context.append(template);
                context.find('.ok').on('click', function(){
                    fn();
                });
                context.find('.cancel').on('click', function(){
                    dg.close();
                });
            });
        }
		//打包下载
        if (Object.prototype.toString.call(param) === "[object Array]" || param.isfolder) { 
        	if(param.isfolder) { 
        		param = new Array(param);//把单个目录转成数组
        	}
            if (param.length > 1) {
                var pathes = _getPathes(param);
                uri = FileModel.archives(pathes, param[0].dataUrl, token,param[0].path_type,param[0].from,param[0].neid); 
				
                setUri();
            } else if (param.length == 1){
                var fileObj = param[0];
                if (fileObj.isfolder) {
                    uri = FileModel.archives([fileObj.path], fileObj.dataUrl,token,fileObj.path_type,fileObj.from,fileObj.neid);
                    setUri();
                } else {
                    if(/\.lock$/.test(fileObj.path)){
                        confirmDownload(function(){
                            uri = FileModel.downloadLink(fileObj.path, fileObj.dataUrl, token);
                            setUri();
                        });
                    }else{
                        uri = FileModel.downloadLink(fileObj.path, fileObj.dataUrl, token);
                        setUri();
                    }
                }
            }
        }
        //单个文件下载
        else {
            if(/\.lock$/.test(param.path)){
                confirmDownload(function(){
                    uri = FileModel.downloadLink(param.path,param.path_type, param.from,param.neid, param.dataUrl, token);
                    setUri();
                });
            }else{
                uri = FileModel.downloadLink(param.path,param.path_type, param.from,param.neid,param.dataUrl, token);
                setUri();
            }
        }

        function setUri(){
	    var session_id = $.cookie("X-LENOVO-SESS-ID");
            if (uri.indexOf('?') != -1) {
            	if(param.rev)
                uri += '&rev=' + param.rev;
            } else {
                uri += '?rev=' + param.rev +'&neid='+param.neid;
                uri = uri.replace('\/\/','\/');
            }
            
            if(uri.indexOf("account_id")==-1&&uri.indexOf("uid")==-1){
            	uri = Util._generateURLStr(uri);
            }
            var postform = document.createElement("form");
            var actionurl = uri.substr(0,uri.indexOf("?")).replace(/%/g,"%25").replace(/#/g,"%23");
            var query = Util.queryString(uri.substring(uri.indexOf('?')) );
            postform.action = actionurl + '?path_type='+query.path_type+"&X-LENOVO-SESS-ID=" + session_id;
            if(/^share/.test(query.path_type)){
            	//判断是否根目录
            	if(!actionurl[actionurl.indexOf('/archives/databox/')+18]){
            		Tips.warn(_('我的共享根目录下不支持打包下载'));
            		return;
            	}
            	postform.action +="&from="+context.currentData.from;
            	postform.action +="&prefix_neid="+context.currentData.prefix_neid;
            }
            postform.enctype="application/x-www-form-urlencoded";
            postform.method = "post";
            postform.target = "download-iframe";
            if(param.length){
                for(i=0;i<param.length;i++){
                	var input = document.createElement("input");
                	input.type = "hidden";
                	input.name = "files[]";
                	input.value = param[i].path;
                	
                	postform.appendChild(input);
                }
                document.body.appendChild(postform);  
                postform.submit();
                document.body.removeChild(postform);
            }else{
            	 $('#download-iframe').attr('src',  uri);
            }
                
        }
    }