繁体   English   中英

文件上传验证器 - jQuery/Javascript

[英]file Upload Verifier - jQuery/Javascript

嗨,
我想设计一个上传器页面的前端,以便
只能选择 JPG 文件
最大文件大小应为 1mb

我想在 JavaScript [不在 PHP 左右...] 中进行此检查,有人可以帮我吗?

[我没有要显示的代码]

坚持文件名必须表明文件类型对用户不友好,但如果你不同意我的观点,你可以检查<input>元素上的文件名。 检查实际文件内容和大小更难,需要 Flash 或新的 HTML5 功能。

(文件名,除去任何其他路径信息,甚至可能伪装成虚假的路径信息,可用作<input>元素的“值”属性。)

您可以检查扩展名(不检查 mime 类型!)

像这样:

var el = document.getElementById('filename');
var fileName = el.value;
//do some regex magic to validate for /jpg\z/i

另外:您还必须检查服务器。 没有什么可以阻止任何人禁用 javascript 来上传.exe 或其他令人毛骨悚然的大文件。

对于 rest,我认为目前没有很多针对 javascript 的向后兼容解决方案。 如果你真的想在客户端做,你可能想看看 flash - 因为它有更多的权限来检查它。 (仍然需要在服务器端进行验证)

另一种解决方案可能是 html5 文件 api: http://www.w3.org/TR/FileAPI/#dfn-file

firefox >3.6 的示例: https://developer.mozilla.org/en/using_files_from_web_applications (仍然需要在服务器上进行验证)

我认为你可以为你的页面使用 pluploader。这可以很好地处理你的要求。这是链接。 http://www.plupload.com/example_queuewidget.php

我找到了 Javascript 解决方案。 如果您只想要 jquery。 将其转换为 jquery :-)

<html>
<head>
<script>
function getSize()
{
    var myFSO = new ActiveXObject("Scripting.FileSystemObject");
    var filepath = document.upload.file.value;
    var thefile = myFSO.getFile(filepath);
    var size = thefile.size;
    alert(size + " bytes");
}
</script>
</head>
<body>
<form name="upload">
<input type="file" name="file">
<input type="button" value="Size?" onClick="getSize();">
</form>
</body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM