jquery - 在使用 jQuery 提交之前如何检查 POST 数据大小?

标签 jquery file-upload postdata

我有一个网络应用程序,允许用户添加多个图像,然后在按下“保存”按钮时将它们与其他数据一起上传。我试图在发送之前计算 POST 数据的大小,以便我可以将请求分解为多个请求,以避免达到 PHP 的 post_max_sizemax_file_uploads 错误。

目前,我使用此代码通过 HTML5 文件 API(size 属性)仅检查图像的整体大小:

// Calculate size of all files being submitted
var ttlSize = 0;
$('form').find('input[type=file]').each(function() {
    ttlSize += this.files[0].size;
});

if (ttlSize > 4 * 1048576) { // >4MB
    // this will exceed post_max_size PHP setting, now handle...
} else if ($('form').find('input[type=file]').length >= 10) {
    // this will exceed max_file_uploads PHP setting, now handle...
}

我希望通过包含其余的 POST 数据来更加精确。这可能吗?

最佳答案

您可以通过计算序列化表单的长度(不包括文件上传字段)来估计它。所以它应该是这样的:

$("form").not("[type='file']").serialize().length;

关于jquery - 在使用 jQuery 提交之前如何检查 POST 数据大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13420266/

相关文章:

javascript - 使用 Plupload 和 Symfony3 抛出 ValidationException 时无响应

c# - WCF Post 方法,返回 400 Bad Request

加载所有脚本文件后触发的 Javascript 事件

file-upload - ASP 上传组件 - 经典 ASP

javascript - 在 Google Maps V3 中获取 GeoJSON 数据层的属性

php - 从服务器下载的 .exe 文件损坏

java - 使用xmlrpc从java在wordpress中发布数据

PHP - 回显时通过表单发送的 POST 数据不正确?

Jquery 验证插件 - 验证添加的字段

javascript - 使用 JQuery 根据行 ID 修改列