2017-08-14 59 views
0

我有一个JavaScript代码,提取文件名作为从当前的HTML文件的变量。例如,文件名是“new.html”文件名变量成功用于附加href,我需要打开在另一个文件夹中存储的相同文件。使用相同的代码,我需要将这个变量追加到带有href标签的文件夹路径下载带有href标签的文件。文件名是由html的(如新)提取并添加到.xls文件(例如new.xls)使用JavaScript变量作为文件名与href下载文件

var filename=location.pathname.substring(location.pathname.lastIndexOf("/") + 1); 
 
console.log(filename); 
 
document.getElementById("htag1").href= "Foldername/"+filename; 
 
var object=filename.slice(0,-5); 
 
var xls=".xls"; 
 
var xlsfile=object+xls; 
 
$(".xlsfile").text(xlsfile); 
 
console.log(xlsfile); 
 
document.getElementById("d1tag1").href= "Foldername/"+xlsfile;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="#" id="htag1" target="_blank">#working</a> 
 
<a href="#" id="d1tag1" target="_blank" download="">#not working</a> 
 

 
<a href="Foldername/new.xls" target="_blank" download="new.xls">####working download code####</a>

但是,这是给我下载的错误,没有文件中获取下载 但它指向正确的道路。我应该使用其他方式下载功能吗?在此之前,我已经静态地进入文件路径,这似乎工作。 任何帮助,将不胜感激!谢谢!

+0

如果什么页面未被指名的文件? –

+0

发布工作片段 –

+0

看起来您需要使用绝对网址,而不是像现在这样相对。尝试'document.getElementById(“d1tag1”)。href =“/ Foldername /”+ xlsfile;' – MysterX

回答

0

试试这个办法,现在我敢肯定它会工作^^

var filename=location.pathname.substring(location.pathname.lastIndexOf("/") + 1); 
 
console.log(filename); 
 
document.getElementById("htag1").href= "Foldername/"+filename; 
 
var object=filename.split(".")[0]; 
 
var xls=".xls"; 
 
var xlsfile=object+xls; 
 
$(".xlsfile").text(xlsfile); 
 
console.log(xlsfile); 
 
document.getElementById("d1tag1").href= "Foldername/"+xlsfile;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="#" id="htag1" target="_blank">#working</a> 
 
<a href="#" id="d1tag1" target="_blank" download="">#not working</a> 
 

 
<a href="Foldername/new.xls" target="_blank" download="new.xls">####working download code####</a>

+0

这对我有效!谢谢!你! – user1954680

+0

标记我的答案,如果它帮助你^^ –