<form action="upload.PHP" method="post" enctype="multipart/form- data"> Select: <input type="file" name="fileToUpload" id="fileToUpload"> </form>
当我点击浏览按钮并选择一个文件时,只有文件的名称被打印在我的网页上(我的网络浏览器是Firefox,而我正在使用本地服务器).有没有办法打印文件的整个地址?到目前为止,我在网络上发现的大多数是提前知道“/ path / to / file”的方法.但是如果随机选择一个文件怎么办?如果没有办法做到这一点,因为安全问题,根据:
How to get full path of selected file on change of <input type=‘file’> using javascript,jquery-ajax?,
有可能用C,C,HTML等吗?
我真的需要显示目录的本地路径.什么是替代品?答案是不能做的?我发现这个网站http://www.htaccesstools.com/articles/full-path-to-file-using-php/
不知道它是如何工作的.
另一个选择是定义一个固定的路径,让用户只选择该目录,因为我知道我可以打印出来.是否有意义?
解决方法
IE浏览器
HTA应用
如果你在本地工作,一个选择是你可以作为HTML应用程序来运行你的页面.不幸的是,它使用Internet Explorer作为引擎.但是如果你可以摆脱一个HTA,这样做就是你想要的:
<!--test.hta--> <HTML> <HEAD> <HTA:APPLICATION ID="testFile" BORDER="thick" BORDERSTYLE="complex"/> <TITLE>HTA - Test file</TITLE> </HEAD> <BODY> <input type="file" onchange="alert(this.value)"> </BODY> </HTML>
可信站点
一个更好的选择,只是使用Internet Explorer,然后将您的页面添加到Internet Explorer的受信任的站点.那么你的解决方案就像:
< input type =“file”id =“fileUpload”onchange =“alert(this.value)”>
自定义安全级别
您还可以在Internet Explorer中全局启用此行为:
火狐
Firefox似乎没有支持抓取完整的URL.但是如上所述here似乎存在一个“mozFullPath”属性:
https://developer.mozilla.org/en-US/docs/Web/API/File/mozFullPath
我在浏览器中尝试过,似乎是一个不存在的属性.我无法找到有关如何利用此属性的任何文档.但是,这是一个值得注意的财产,以防万一它变得有用.
HTML5
在HTML5中,您可以编写this.files [0]来引用File对象.属性包括“name”和“lastModifiedDate”,“size”和“type”,如下所述:
https://developer.mozilla.org/en-US/docs/Web/API/File
在HTML5中,您实际上可以使用blob并从所选文件创建一个对象网址并显示预览.这可以通过URL.createObjectURL(…)完成,然后创建一个图像并将其src设置为生成的临时url.见this fiddle.(credit goes to this post)
最后,你可能会非常喜欢: