plupload - 如何限制 PLUpload 中的总文件大小
问题描述
我正在使用 PLUpload UI Widget,下面是代码
$(function() {
$("#uploader").plupload({
runtimes : 'html5,flash,silverlight,html4',
url : "/examples/upload",
max_file_size : '20mb',
chunk_size: '1mb',
resize : {
width : 200,
height : 200,
quality : 90,
crop: true // crop to exact dimensions
},
filters : [
{title : "Image files", extensions : "jpg,gif,png"}
],
rename: true,
sortable: true,
dragdrop: true,
views: {
list: true,
thumbs: true, // Show thumbs
active: 'thumbs'
},
flash_swf_url : '/plupload/js/Moxie.swf',
silverlight_xap_url : '/plupload/js/Moxie.xap'
});
});
我想允许用户一起上传不超过 18mb 的文件。因此,现在如果有人选择大于 15mb 或小于 18mb 的文件,则此代码运行良好,但当用户选择 2 个 15mb-4mb 的文件时,总大小为 19mb,这不会显示任何错误。
我看到 QueueWidget(plqueueupload) 的解决方案很少,但没有找到 UIWidget (plupload) 的任何解决方案
有内置选项可以限制单个文件的大小和文件数量。我们如何限制所有文件的大小?
解决方案
我在浏览 PUUpload 文档后找到了答案,添加这个只是为了帮助其他人寻找这个。
在我们选择每个文件并且我们可以验证之后调用的“选定”事件。
selected: function(uploader, files) {
if(files.files.length > 0) {
for(var i=0;i<files.files.length;i++) {
maxsize += files.files[i].size;
}
if(maxsize > 18874368) {
//add your logic to show error message
$("#fileUploader").plupload("notify", "error", "Files size exceeded 18MB");
}
}
推荐阅读
- prometheus - Prometheus 中的可变范围矢量选择器
- c++ - i2d_X509_REQ_INFO 不能正确转换 req_info 结构
- java - 线程“主”java.lang.NoClassDefFoundError 中的异常:org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream
- javascript - 每次屏幕安装在本机反应中时,都会调用哪个组件生命周期?
- android - 用浓缩咖啡在 EditText 中按删除(退格键)
- php - 由于语法错误,PHP json_decode 返回空值
- .net - 如何保持大型 SOLID 项目的可管理性?
- sql - 如何修改 MariaDB 表中 Varchar 的主键列的大小?
- c++ - 在函数c ++中通过指针传递与通过引用传递
- python - 仅使用虚拟环境文件夹运行 python 脚本