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的天下。