【问题标题】:How to check if file path is valid in HTML File Input control?如何在 HTML 文件输入控件中检查文件路径是否有效?
【发布时间】:2013-01-07 06:16:38
【问题描述】:

我有这个 html 代码:

<html>
<head>
    <title>File Upload Example</title>
</head>
<body>
    <form action="uploadsuccess.jsp" enctype="multipart/form-data" method="post">
        Please specify a file:<br/> 
        <input type="file" id="theFile" name="theFile" size="40"/><br/>
        <input type="submit" value="Submit"/>
    </form>
</body>
</html>

然后我尝试了这个:我浏览了一个具有完整文件路径的文件:C:\abc.txt。然后在物理硬盘中,我更改了文件名(或将其移动到其他地方)。在文件输入文本框仍然显示“C:\abc.txt”的情况下,我单击了提交按钮,结果是根本无法到达 uploadsuccess.jsp。在 Firefox 浏览器中,选项卡只是重新加载了一点,但页面没有。

当文件未找到或不存在时,浏览器似乎拒绝发布数据。

所以我想知道如何验证输入的文件路径是否存在。

【问题讨论】:

    标签: javascript file jsp input client-side-validation


    【解决方案1】:

    您无权访问文件系统,但是,由于 HTML5 File Api 规范,您可以访问一些文件属性,文件大小就是其中之一。所以你可以测试一下。由于它是 HTML5 规范的一部分,它只适用于现代浏览器(IE 不是其中之一)。

    //Returns the file size for an form input.
    document.getElementById("IdOfyourFileInput").files[0].size;
    

    【讨论】:

    • 参数中有'#',是jQuery语法吗?
    • @suud 啊,是的,我去掉了,想说明一定是元素的ID,最近几周jQuery太多了。
    • 那么html4中没有解决办法?
    • 这在任何支持 File API 的浏览器中都是可能的,这意味着当前版本的 chrome、firefox、safari、opera。 IE10 是第一个支持 File API 的 Internet Explorer 版本。
    • 不幸的是客户端仍然使用旧的 IE :(
    猜你喜欢
    • 2014-08-09
    • 2011-10-09
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    相关资源
    最近更新 更多