javascript

位置:IT落伍者 >> javascript >> 浏览文章

js如何获取file控件的完整路径


发布日期:2018年03月12日
 
js如何获取file控件的完整路径

<script type="text/javascript">
//FX获取文件路径方法
function  readFileFirefox(fileBrowser) {
try {  
netscapesecurityPrivilegeManagerenablePrivilege("UniversalXPConnect");  
}
catch (e) {  
alert(无法访问本地文件由于浏览器安全设置为了克服这一点请按照下列步骤操作()在地址栏输入"about:config";()  右键点击并选择 New>Boolean; () 输入"signedappletscodebase_principal_support"  (不含引号)作为一个新的首选项的名称;() 点击OK并试着重新加载文件);
return;
}
var  fileName=fileBrowservalue; //这一步就能得到客户端完整路径下面的是否判断的太复杂还有下面得到ie的也很复杂
var  file = Componentsclasses["@mozillaorg/file/local;"]  
createInstance(ComponentsinterfacesnsILocalFile);
try {
// Back  slashes for windows
fileinitWithPath( fileNamereplace(///g "") );  
}
catch(e) {
if  (eresult!=ComponentsresultsNS_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 ( fileexists() == false ) {
alert("File " + fileName + " not  found");
return;
}
return filepath;
}
//根据不同浏览器获取路径  
function getvl(){
//判断浏览器
var Sys = {};
var ua =  navigatoruserAgenttoLowerCase();
var s;
(s = uamatch(/msie  ([d]+)/)) ? Sysie = s[] :
(s = uamatch(/firefox/([d]+)/)) ?  Sysfirefox = s[] :
(s = uamatch(/chrome/([d]+)/)) ? Syschrome = s[]  :
(s = uamatch(/opera([d]+)/)) ? Sysopera = s[] :
(s =  uamatch(/version/([d]+)*safari/)) ? Syssafari = s[] : ;
var  file_url="";
if(Sysie<=""){
//ieie
file_url =  documentgetElementById("file")value;
}else if(Sysie>=""){  
//ieie
var file = documentgetElementById("file");
fileselect();  
file_url = documentselectioncreateRange()text;
}else if(Sysfirefox){  
//fx
//file_url =  documentgetElementById("file")files[]getAsDataURL();//获取的路径为FF识别的加密字符串  
file_url = readFileFirefox(documentgetElementById("file"));
}  
//alert(file_url);  
documentgetElementById("text")innerHTML="获取文件域完整路径为"+file_url;
}  
</script>
<h>JS获取文件域完整路径的方法兼容不同浏览器</h>
<div  id="text" style="color:#f;"></div>
<input type="file"  id="file" />
<input name="" type="button" value="获取"  onClick="getvl();">

               

上一篇:jquery获取被勾选的checked(选中)的那一行的3列和4列的值

下一篇:Extjs407 getValue()和getRawValue()区别