当前位置: 首页 > 面试题库 >

JavaScript文件上传大小验证

白通
2023-03-14
问题内容

在使用JavaScript上传 文件 之前,有什么方法可以检查 文件大小 吗?


问题答案:

是的 ,有些现代浏览器支持W3C的一项新功能[FileAPI。可以将其用于此目的,并且很容易测试它是否受支持,如果不支持,则可以回退到其他机制(如果需要)。

这是一个完整的示例:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<title>Show File Data</title>
<style type='text/css'>
body {
    font-family: sans-serif;
}
</style>
<script type='text/javascript'>
function showFileSize() {
    var input, file;

    // (Can't use `typeof FileReader === "function"` because apparently
    // it comes back as "object" on some browsers. So just see if it's there
    // at all.)
    if (!window.FileReader) {
        bodyAppend("p", "The file API isn't supported on this browser yet.");
        return;
    }

    input = document.getElementById('fileinput');
    if (!input) {
        bodyAppend("p", "Um, couldn't find the fileinput element.");
    }
    else if (!input.files) {
        bodyAppend("p", "This browser doesn't seem to support the `files` property of file inputs.");
    }
    else if (!input.files[0]) {
        bodyAppend("p", "Please select a file before clicking 'Load'");
    }
    else {
        file = input.files[0];
        bodyAppend("p", "File " + file.name + " is " + file.size + " bytes in size");
    }
}

function bodyAppend(tagName, innerHTML) {
    var elm;

    elm = document.createElement(tagName);
    elm.innerHTML = innerHTML;
    document.body.appendChild(elm);
}
</script>
</head>
<body>
<form action='#' onsubmit="return false;">
<input type='file' id='fileinput'>
<input type='button' id='btnLoad' value='Load' onclick='showFileSize();'>
</form>
</body>
</html>

而这里是它的行为。尝试使用最新版本的Chrome或Firefox。

稍微偏离主题,但是:请注意,客户端验证不能替代服务器端验证。客户端验证纯粹是为了提供更好的用户体验。例如,如果您不允许上传的文件超过5MB,则可以使用客户端验证来检查用户选择的文件大小是否超过5MB,如果文件大小超过5MB,则向他们发送友好的消息(因此,他们不会花费所有的时间仅将结果扔在服务器上),但是您
必须在服务器上实施该限制,因为可以规避所有客户端限制(和其他验证)。



 类似资料:
  • 本文向大家介绍javascript实现限制上传文件大小,包括了javascript实现限制上传文件大小的使用技巧和注意事项,需要的朋友参考一下 前言:   项目中经常用到需要上传文件、照片等功能,同时需要限制所上传文件的大小。很多插件都会采用后台请求验证,前端Js校验比较少。本篇介绍一个前端JS便捷判断上传文件大小的方法。 这个是比较好的 下面的代码不建议使用   代码很简单,关键就是怎么用JS拿

  • 问题 如何限定上传文件的大小? Solution web.py 使用cgi 模块来解析用户的输入, 而 cgi 模块对最大输入大小有限制。 下面的代码限制了最大数据输入为 10MB. import cgi # Maximum input we will accept when REQUEST_METHOD is POST # 0 ==> unlimited input cgi.maxlen =

  • 问题内容: 我有一个无法访问的PC上托管的网站。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。 每次尝试上传文件时,都会收到一条错误消息,声称文件超出了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改我无权访问的文件,这样将无法正常工作。其他人建议我将自定义文件添加到我的根目录中,该文件无效。还有其他建议吗? 问题答案: 您需要设置的值,并在

  • 本文向大家介绍Javascript验证上传图片大小[前台处理],包括了Javascript验证上传图片大小[前台处理]的使用技巧和注意事项,需要的朋友参考一下 需求分析: 在做上传图片的时候,如果不限制上传图片大小,后果非常的严重。那么我们怎样才可以解决一个棘手的问题呢?有两种方式: 1)后台处理: 也就是AJAX POST提交到后台,把图片上传到服务器上,然后获得该图片大小做处理。 2)前台处理

  • 问题内容: 我有一个允许用户上传视频文件的网站,但我希望将文件大小限制为2MB,这在上传文件后非常简单,但是没有人知道我是否可以 在 上传 之前 检查文件大小,以免超载服务器不必要? 我可能正在寻找javascript / ajax解决方案,但是我不知道如何实现此目的。 任何帮助将非常欢迎。多谢你们! 更新: 我需要在 客户端 而不是在 服务器 端 检查文件大小,这可能吗? 问题答案: 您可以使用

  • 问题内容: 我在Django应用中有一个表单,用户可以在其中上传文件。 如何设置上传文件大小的限制,以便如果用户上传的文件大于我的限制,则该表格将无效并且会引发错误? 问题答案: 此代码可能会帮助: