2017-08-14 112 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

標記我的答案,如果它幫助你^^ –