1. javascript怎麼獲取<input type="file" />文件的路徑
javascript獲取<input type="file" />文件的路徑:
function getPath(obj) {
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;
}
}
2. js獲取文件路徑怎麼寫
<script>
$("input[name=fileString]").change(function(){
//varnames=[];
for(vari=0;i<$(this).get(0).files.length;++i){
//names.push($(this).get(0).files[i].name);
//console.log($(this).get(0).files[i].mozFullPath);
//方式一:
varfilePath=$(this).val();
console.log(filePath);
//方式二:
alert($('input[type=file]').val());
}
//console.log(names);
//方式三:
alert($("input[name=fileString]").val());
})
</script>
注意:以上方式取到的都是文件的偽路徑,由於瀏覽器的安全策略,Chrome瀏覽器及內核的瀏覽器是不可能獲取文件在本地的真實路徑的。IE瀏覽器可以通過設置安全級別,能獲取到真實路徑。
3. js如何讀取伺服器端文件目錄
1、先准備一個json文件。
4. js如何獲取file控制項的完整路徑具體實現代碼
//FX獲取文件路徑方法 function readFileFirefox(fileBrowser) {try {netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");}catch (e) { alert('無法訪問本地文件,由於瀏覽器安全設置。為了克服這一點,請按照下列步驟操作:(1)在地址欄輸入"about:config";(2) 右鍵點擊並選擇 New-Boolean; (3) 輸入"signed.applets.codebase_principal_support" (不含引號)作為一個新的首選項的名稱;(4) 點擊OK並試著重新載入文件');return;}var fileName=fileBrowser.value; //這一步就能得到客戶端完整路徑。下面的是否判斷的太復雜,還有下面得到ie的也很復雜。 var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile);try {// Back slashes for windows file.initWithPath( fileName.replace(/\//g, "\\\\") );}catch(e) {if (e.result!=Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH) throw e; alert("File '" + fileName + "' cannot be loaded: relative paths are not allowed. Please provide an absolute path to this file.");return;}if ( file.exists() == false ) { alert("File '" + fileName + "' not found.");return;}return file.path;}//根據不同瀏覽器獲取路徑 function getvl(){ //判斷瀏覽器 var Sys = {}; var ua = navigator.userAgent.toLowerCase();var s;(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0; var file_url=""; if(Sys.ie<="6.0"){ //ie5.5,ie6.0 file_url = document.getElementById("file").value; }else if(Sys.ie="7.0"){//ie7,ie8var file = document.getElementById("file"); file.select(); file_url = document.selection.createRange().text; }else if(Sys.firefox){//fx//file_url = document.getElementById("file").files[0].getAsDataURL();//獲取的路徑為FF識別的加密字元串 file_url = readFileFirefox(document.getElementById("file"));}//alert(file_url); document.getElementById("text").innerHTML="獲取文件域完整路徑為:"+file_url;}</script <h1JS獲取文件域完整路徑的方法,兼容不同瀏覽器</h1
5. JS 多文件上傳 怎麼獲得文件的本地路徑
flex上傳的是文件流,你應該在服務端接到這個位元組流 將其創建成文件對象 並保存在伺服器專本地磁屬盤中獲得路徑返回給前台,如果你們用node js做的伺服器 也是同理 一定有處理流的方法,關鍵是你要理解flex 通過onload載入成功後在成功事件對象中取得的是 這個文件的信息 包括 位元組流啊 寬高啊 名字啊等等。不知道能否讓你理解。
6. js點擊選擇文件目錄的功能
最近做一個小項目,前端需要有一個功能是點擊某按鈕時,彈出文件選擇的框,然後獲取目錄並寫入對應的輸入框里,以往是選擇某個文件進行上傳,功能看起來有些像,但這次不同的是只能選擇某個目錄而不是文件,因為它並不是上傳,它只是為了選擇後台生成的文件保存的路徑。
於是網上查解決方案,查到兩種,
一種是僅在谷歌瀏覽器上有效的方式,在input節點里加一個屬性 webkitdirectory,就可以實現點擊彈出選擇目錄的功能,然後就可以截取目錄,此種方式對非空文件夾是可以的實現的,只需監聽此input的change事件即可,但如果選擇的是空文件夾,就不會觸發事件,就無法獲取路徑,所以這方法不復合我的需求。
另一種是只適用於IE瀏覽器的方式,即調用IE的activeX控制項,為點擊按鈕綁定事件,然後就可以獲取目錄,然後到目錄調到想要的地方即可,具體實現方式是:
<input id="show">
<button onclick="clickBtn()">點擊</button>
function click() {
try {
var Message = "\u8bf7\u9009\u62e9\u6587\u4ef6\u5939"; //選擇框提示 var Shell = new ActiveXObject("Shell.Application");
var Folder = Shell.BrowseForFolder(0, Message, 64, 17); //起始目錄為:我的電腦 //var Folder = Shell.BrowseForFolder(0, Message, 0); //起始目錄為:桌面 if (Folder != null) {
Folder = Folder.items(); // 返回 FolderItems 對象
Folder = Folder.item(); // 返回 Folderitem 對象
Folder = Folder.Path; // 返迴路徑
if (Folder.charAt(Folder.length - 1) != "\\") {
Folder = Folder + "\\";
}
document.getElementById('show').value = Folder;
return Folder;
}
} catch (e) { alert(e.message); }
}
但些方式也有一個問題是,此控制項是默認關閉的,需要用戶手動啟用,並且要把本站點加入可信任站點才行,具體設置過程是:
1. 單擊菜單工具->Internet選項->安全->受信任站點->站點->把此網站設為可信站點
2. 在自定義級別->對沒有標記為安全的ActiveX控制項進行初始化和腳本運行"----"啟用"
7. JS 中如何獲取站點根目錄文件的位置
先獲取當前的全路徑,然後對全路徑進行分析獲取到跟路徑
//js獲取項目根路徑,如: http://localhost:8083/uimcardprj
functiongetRootPath(){
//獲取當前網址,如:http://localhost:8083/uimcardprj/share/meun.jsp
varcurWwwPath=window.document.location.href;
//獲取主機地址之後的目錄,如:uimcardprj/share/meun.jsp
varpathName=window.document.location.pathname;
varpos=curWwwPath.indexOf(pathName);
//獲取主機地址,如:http://localhost:8083
varlocalhostPaht=curWwwPath.substring(0,pos);
//獲取帶"/"的項目名,如:/uimcardprj
varprojectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
return(localhostPaht+projectName);
}
8. javascript中如何實現獲取當前文件根目錄.
你是純js文件裡面想獲取嗎?還是jsp文件?如果是jsp文件下可以獲得 如果是js文件的話就無能為力了,在jsp下的話 可以在<%java代碼獲取%>再通過<%=%>表達式放到就是中,必須是同一文件
9. 在js文件中怎麼獲取自身的路徑
file是一種特殊的input,不能被賦值,也不能被javascript取值,只能隨表單提交,而且隨表單提交的也是file路徑所指向的文件本身。
這是瀏覽器安全原因所限制的,如果可以取值和賦值的話,那麼javascript就可以隨意獲取你電腦上的文件了,這是非常危險的。
經過結合了HTML5提供的新技術FileHeader,成功地在file標簽未作出提交前,分別獲得了文件的:fileName、fileSize、file Last Mod、、、
唯一的缺點就是:未能在IE下通過。
不過,這不是什麼缺點,因為我是在手機端的web開發,這里是andriod和IOS的天下。