2013-07-13 57 views
0
顯示上傳的文件名

我有以下的HTML/JS代碼:通過Javascript

<div class="file_upload"> 
     <input type="file" id="file_upload" name="file_upload" onchange="g();"> 
    </div> 
<script> 
    function g() { 
     var fileName = document.getElementById("file_upload").value; 
     fileName = fileName.substring(fileName.lastIndexOf('/')+1); 
     alert(fileName); 
    } 
</script> 

我希望該用戶後上傳文件,不是文件名會在警報displlay問題在這個CIDE是路徑&文件名是diplayed,我只想要文件名。

我該如何解決?

+0

路徑是怎樣的?您正在搜索「/」,但在Windows中,例如,您必須搜索「\」。 – MaxArt

+0

你最有可能在Windows上進行測試,因爲子字符串使用'/'分隔文件名,所以它不會匹配'\\'。快速解決方案將是:fileName = fileName.replace('\\','/').substring(文件名.lastIndexOf('/')+ 1); – JimmiTh

回答

1

嘗試這樣的:

var fnSplit = fileName.split(/[\/\\]/); 
fileName = fnSplit[fnSplit.length - 1]; 

路徑分隔符可以是不同的操作系統(例如Windows和Linux)不同,所以你必須尋找他們。最常見的是/\,一個簡單的正則表達式可以做到這一點。

+0

謝謝,它工作得很好! –