你可以通過設(shè)置瀏覽器安全選項得到真實路徑:
Internet選項 -> 安全 -> 自定義級別 -> 將本地文件上載至服務(wù)器時包含本地目錄路徑 -> 選“啟動” -> 確定 但是,作為開發(fā)者,我們不能指望客戶去這么做,所以我們必須通過代碼解決這個問題。
例如我的上傳文件控件的HTML代碼是:
<input id="file_upl" type="file" />
那么在JS代碼中我就可以這樣來獲取真實的文件路徑:
var file_upl = document.getElementById('file_upl');
file_upl.select();
var realpath = document.selection.createRange().text;
此方案只針對IE瀏覽器,對其他瀏覽器火狐,js代碼如下:
//附帶不用修改瀏覽器安全配置的javascript代碼,兼容ie, firefox全系列
function getPath(obj) //參數(shù)obj為input file對象
{
if(obj)
{
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
obj.select();
return document.selection.createRange().text;
}
else if(window.navigator.userAgent.indexOf("Firefox")>=1)
{
if(obj.files)
{
return obj.files.item(0).getAsDataURL();
}
return obj.value;
}
return obj.value;
}
}