Javascript jQuery文件树:文件下载

Javascript jQuery文件树:文件下载,javascript,jquery,jsp,Javascript,Jquery,Jsp,我正在使用jquery文件树()和jsp连接器版本 因此,javascript代码是: $(function() { $("#container_id").fileTree({ root: '/home/mio' , script: '/Grafo_Filesystem-portlet/jqueryFileTree.jsp', }, function(file) { alert(file); }); });

我正在使用jquery文件树()和jsp连接器版本

因此,javascript代码是:

    $(function() {
     $("#container_id").fileTree({ 
       root: '/home/mio' ,
       script: '/Grafo_Filesystem-portlet/jqueryFileTree.jsp',
     }, function(file) {
       alert(file);
     });
    });
当我单击文件名时,将返回带有文件路径的警报

相反,我想下载文件。我该怎么办


谢谢

或者您可以使用跨浏览器解决方案:选择文件后,将在另一个页面中提交隐藏的GET表单(这样,打开文件树时不会丢失实际页面),浏览器将负责下载文件内容

$(function() {
    $("#container_id").fileTree({ 
            root: '/home/mio' ,
            script: '/Grafo_Filesystem-portlet/jqueryFileTree.jsp',
        },
        function(file) {
            $('#hiddenForm').attr('action', file);
            $('#hiddenForm input[name="rand"]').val(Math.floor(Math.random()*1001));
            $('#hiddenForm').submit();
        }
    );
});

## HTML PART ( PUT AT THE END OF THE PAGE ) ##
<form id="hiddenForm" action="#" target="_blank" method="GET">
    <input type="hidden" name="rand" value="0" />
</form>
$(函数(){
$(“#容器_id”).fileTree({
根目录:'/home/mio',,
脚本:'/Grafo_Filesystem-portlet/jqueryFileTree.jsp',
},
函数(文件){
$('hiddenForm').attr('action',file);
$('#hiddenForm input[name=“rand”]').val(Math.floor(Math.random()*1001));
$('hiddenForm')。提交();
}
);
});
##HTML部分(放在页面末尾)##

我尝试了您提出的解决方案,但什么也没发生。我把html放在jsp文件的末尾,对吗?1)这里发布的其他解决方案也是跨浏览器的。2) 表单不应该有
src
attributeAsad,任何建议的解决方案都不会触发结果。控制台上没有错误,没有结果。对不起,我的错误,这是表单的操作,而不是SRC:发生这种情况是因为我想使用iframe解决方案,但后来注意到表单方法是最好的。替换$('hiddenForm').attr('src',文件);带有$('hiddenForm').attr('action',file);您是否尝试过在文件路径之前附加一个“file://”?试着输入你的导航栏file://test_a_file_path 看看会发生什么。如果文件已下载,请修改我的脚本,以便将文件://附加到文件路径之前
$(function() {
    $("#container_id").fileTree({ 
            root: '/home/mio' ,
            script: '/Grafo_Filesystem-portlet/jqueryFileTree.jsp',
        },
        function(file) {
            $('#hiddenForm').attr('action', file);
            $('#hiddenForm input[name="rand"]').val(Math.floor(Math.random()*1001));
            $('#hiddenForm').submit();
        }
    );
});

## HTML PART ( PUT AT THE END OF THE PAGE ) ##
<form id="hiddenForm" action="#" target="_blank" method="GET">
    <input type="hidden" name="rand" value="0" />
</form>