<input type =“file”/> IE提供完整路径,FF仅提供文件名(或目录浏览)

时间:2009-11-04 19:32:18

标签: javascript html file path

  

可能重复:
  Can’t get the complete address while uploading a file

我需要完整的道路。 我正在尝试提供本地书签的功能,即用户想要访问其本地PC上的c:\MyStuff\Myfile.xls。 如何保存/获取该值,而无需制作有关如何剪切和粘贴c:\MyStuff\Myfile.xls的教程帮助页面。

以下代码适用于IE7。 我理解这是一个安全问题,但我不需要保存他们的选择,甚至不需要使用enctype / multiform,甚至提交任何东西,我只需要获得他们选择的路径。

<html>

<head>
  <title></title>
</head>

<body>
<script language="JavaScript" type="text/javascript">
<!--
vic=0;
document.write('<style> .debug {VISIBILITY: visible; POSITION: absolute; TOP: 500px; z-Index:100; }</style>')
<!---->
</script>

Select a file from directory then save the path<br>
<input type="file" id="dir" value="dir" style="width:0px;" >
<input type="button" value="Save Path" onclick="javascript:SavePath();" >

<script language="JavaScript" type="text/javascript">
<!-- works on ie8 not ff.
function SavePath(){
if (document.getElementById('dir').value==''){
  alert('Select a file from the directory');
  return;
}
Path=document.getElementById('dir').value.substring(0,document.getElementById('dir').value.lastIndexOf('\\'));
alert('variable Path='+Path+'\\ ');
}
//-->
</script>
</body>

</html> 

1 个答案:

答案 0 :(得分:5)

  

我需要完整的路径。

你不会得到它!

抱歉,没有办法。

(你根本不能依赖文件名中的任何有用内容:即使浏览器包含整个路径,如果它不是Windows框,你也不会获得\\路径 - 分隔符。你可能会得到/ ......或其他完全的东西。)

  

如何保存/获取该值,而无需制作有关如何剪切和粘贴的教程帮助页面

您可以尝试鼓励他们将文件图标拖放到简单的文本字段中。在许多将粘贴路径名的浏览器中。

  

语言= “JavaScript的”

你不需要那个。

javascript:

你不需要那个。

<!--
    ...
<!---->

你不需要那个。 (如果你这样做,那么不匹配的--将是无效的。)

<!-- works on ie8 not ff.

不正确的JavaScript评论。