gpt4 book ai didi

javascript - 限制plupload的上传数量

转载 作者:太空狗 更新时间:2023-10-29 14:21:51 25 4
gpt4 key购买 nike

我的客户使用的是旧版 classipress,这里是 github repo我找到了,但他使用的东西要老得多。运行最新的 Wordpress 版本。它带有 plupload ,一些旧版本,在主题中找不到版本。这是 Functions.php , 这里是 plupload . Here's the html of my page,不需要查看它,但我将它放在那里是因为该页面受到保护,因此如果您愿意,这是检查整个代码的唯一方法。

我想添加同时上传多张图片的功能,为此,我添加了 this到 functions.php

add_filter('appthemes_plupload_config', 'enable_plupload_multisel', 10 ,1);
function enable_plupload_multisel($app_plupload_config){
$app_plupload_config['plupload']['multi_selection'] = true;
return $app_plupload_config; }

但是我不知道如何阻止用户上传超过8张图片?我尝试添加 max_filesmax_files_countmax_file_count 但没有任何效果,我什至修改了插件本身和 js 的源代码,但没有任何效果。我想阻止用户上传超过 8 张图片。

在我放弃 plupload 之后,我尝试使用 Jquery 来做,但还是不行

 /* prevent form submission if user selects more than 8 pics */
jQuery('#app-attachment-upload-pickfiles').change(function() {
if (this.files.length > 8) {
alert('Uploading more than 8 images is not allowed');
this.value = '';
}
});
// Prevent submission if limit is exceeded.
jQuery('#mainform').submit(function() {
if (this.files.length > 8) {
jQuery('#app-attachment-upload-pickfiles').hide();
jQuery('#step1').hide();
return false;
} else {
jQuery('#app-attachment-upload-pickfiles').show();
jQuery('#step1').show();
}
});

编辑

我的 pluploadjs here . 已添加文件

    attachUploader.bind('FilesAdded', function(up, files) {
jQuery.each(files, function(i, file) {
jQuery('#app-attachment-upload-filelist').append(
'<div id="' + file.id + '" class="app-attachment-upload-progress">' +
file.name + ' (' + plupload.formatSize(file.size) + ') <b></b>' +
'</div>');

window.appFileCount += 1;
APP_Attachment.hideUploadBtn();
});

up.refresh();
attachUploader.start();
});

我修改成这样

    attachUploader.bind('FilesAdded', function(up, files) {
var maxfiles = 8;
if(up.files.length > maxfiles )
{
up.splice(maxfiles);
alert('no more than '+maxfiles + ' file(s)');
}
if (up.files.length === maxfiles) {
$('#app-attachment-upload-filelist').hide("slow"); // provided there is only one #uploader_browse on page
}
jQuery.each(files, function(i, file) {
jQuery('#app-attachment-upload-filelist').append(
'<div id="' + file.id + '" class="app-attachment-upload-progress">' +
file.name + ' (' + plupload.formatSize(file.size) + ') <b></b>' +
'</div>');

window.appFileCount += 1;
APP_Attachment.hideUploadBtn();
});

up.refresh();

attachUploader.start();
});

就这些了吗?现在可以了吗?我没有测试过,因为它会报错

最佳答案

我不确定,但您的代码应该几乎可以工作。我认为您应该通过调用 removeFile 方法从队列中手动删除文件。

也许试试这段代码:

    attachUploader.bind('FilesAdded', function(up, files) {
var maxfiles = 8;

// remove all new files after the max of files
jQuery.each(up.files, function(i, file) {
if(i > maxfiles){
up.removeFile(file);
}
});
});

关于javascript - 限制plupload的上传数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46917999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com