javascript - 如何使用 JavaScript 停止文件上传事件

标签 javascript html dom-events

当我上传超过 5mb 的文件或者我的文件扩展名不是 .jpg.png 时,我想停止文件上传事件。我找到了一个代码,但是当我尝试上传无效的文件类型时,它只会提醒我上传了错误的文件,但不会取消该事件。 这是代码:

<script>
function checkFile(fieldObj)
{
    var FileName  = fieldObj.value;
    var FileExt = FileName.substr(FileName.lastIndexOf('.')+1);
    var FileSize = fieldObj.files[0].size;
    var FileSizeMB = (FileSize/5485760).toFixed(2);

    if ( (FileExt != "png" && FileExt != "jpg") || FileSize>5485760)
    {
        var error = "File type : "+ FileExt+"\n\n";
        error += "Size: " + FileSizeMB + " MB \n\n";
        error += "Please make sure your file is in png or jpg format and less than 5 MB.\n\n";
        
        alert(error);
        return false;
    }
    return true;
}
</script>

这里是html代码:

 <input type="file"onchange="checkFile(this)"name='sec_2_img'>

最佳答案

您需要清除“sec_2_img”的值。为此,您可以在 alert(error) 之后和 return false; 之前添加 fieldObj.value = "";。这将从 sec_2_img 中删除文件名,并强制用户选择一个新文件名,同时仍显示消息,以便用户知道该怎么做。

关于javascript - 如何使用 JavaScript 停止文件上传事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34654073/

相关文章:

java - 在displaytag中创建下拉行

javascript - 为什么与一些较小尺寸的设备相比,尺寸较大的设备屏幕宽度较小?

javascript - 如何在 useEffect/useCallback-hook 中正确处理来自 React Context 的数据

javascript - 对 getElementById 的 onload 调用返回 null

javascript - 检查元素是否具有列表/数组中给出的类

html - 如何使用 CSS 为多个图像设置不同的样式?

javascript - 如何在项目中单击两次后启动功能?

javascript - 如何在测试中使用 element.val 更新绑定(bind)到输入集的 angularjs 组件属性

javascript - 滚动事件永远不会触发

javascript - 如何使用angularjs在传单标记上触发事件