javascript 好象没有对文件 *** 作的权力吧。。。
如果是java就简单得很 你查查javaioFile的方法 就知道了
javascript 不知道
javascript 获取文件域 (type=file) 的完整路径一直是很麻烦的问题,问题主要出在一些浏览器基于安全性考虑而不能正常获取到文件域中选中的决对路径,尤其一些基于webkit的浏览器比如 Chrome, Safire等浏览器,下面是一个可以兼容 IE 6 , 7, 8 和 firefox 的获取 input file 完整路径的方法,该方法不支持 Chrome 和 Safire,要支持这些浏览器可能要使用到 Flash ,对程序员来说比较麻烦。
HTML页面:
<input type="file" name="attachment" id="attachment" />
<input type="text" name="trueattachment" id="trueattachment" />js部分:
<script type="text/javascript">
var attachment=documentgetElementById("attachment");
var trueattachment=documentgetElementById("trueattachment");
attachmentonchange=function(){
trueattachmentvalue=getFullPath(this);
}
function getFullPath(obj){
if(obj)
{
//ie
if (windownavigatoruserAgentindexOf("MSIE")>=1)
{
objselect();
return documentselectioncreateRange()text;
}
//firefox
else if(windownavigatoruserAgentindexOf("Firefox")>=1)
{
if(objfiles)
{
return objfilesitem(0)getAsDataURL();
}
return objvalue;
}
return objvalue;
}
}
</script>
在firefox上,input(type=file)默认获取到的value值就是文件名。
在IE上,input(type=file)默认获取到的value值是路径。
因此用js来获取fileupload中的上传文件的文件名需要多方面考虑。
示例代码:
<form action="" method="get" onSubmit="return false;">
<input type="text" name="test" id="test">
<input type="file" name="testFile" onChange="if(thisvalue)insertTitle(thisvalue);">
<input type="submit" value="提交">
</form>
<script language="javascript">
function insertTitle(path){
var test1 = pathlastIndexOf("/"); //对路径进行截取
var test2 = pathlastIndexOf("\\"); //对路径进行截取
var test= Mathmax(test1, test2)
if(test<0){
documentgetElementById("test")value = path;
}else{
documentgetElementById("test")value = pathsubstring(test + 1); //赋值文件名
}
}
</script>
input file在选择完文件之后,他的值就是这个文件在你机器上的路径
js本身是不能去读取这个文件的内容的,比如获取大小,类型之类
你说的功能是属于ajax上传文件,服务器完成上传后返回文件的信息(或者内容),然后再在html上加载出来
这个功能一定要后台来完成
例
上传一个文本文件,input file获取本机路径,上传至服务器,服务器读取文本内容返回文本内容,在html上打印出来
以上就是关于javascript中,如何取得文件所在的物理路径全部的内容,包括:javascript中,如何取得文件所在的物理路径、怎样 在js中获取input file、怎么用js来获取 fileupload中的上传文件的文件名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)