如何只计算有效的jquery文件上传
How do I count only valid jquery file uploads?
在使用jquery文件上传多次图像后,我正在尝试刷新上传页面。
我目前正在计算添加的文件数量,如果它们与成功上传的数量匹配,我会刷新页面。在用户尝试上传无效的文件类型或太小的图像之前,这种方法效果很好。我如何将这些失败作为总数的一部分?有没有首选的方法?
$('#fileupload').fileupload({
acceptFileTypes: /('.|'/)(jpe?g|png)$/i
});
var filesqueued = null;
var filesuploaded = 0;
$('#fileupload').bind('fileuploadadd', function (e, data) {
filesqueued = data.originalFiles.length;
});
$('#fileupload').bind('fileuploaddone', function (e, data) {
filesuploaded = filesuploaded + 1;
if (filesuploaded == filesqueued) {
filesuploaded = 0;
location.reload();
}
})
您可以使用jQuery文件上传的内置事件来绑定成功和失败事件:
$('#fileupload').bind('fileuploadcompleted', function (e, data) {
/* Successful upload */
filesuploaded = filesuploaded + 1;
});
$('#fileupload').bind('fileuploadfailed', function (e, data) {
/* Failed upload */
// [...]
});
更多信息,请参阅他们的文档:https://github.com/blueimp/jQuery-File-Upload/wiki/Options
或者,您可以在服务器端执行所有操作。让您的上传处理程序(jQuery文件上传的url
选项)响应:
<?php
if ( $valid == false ) {
echo 'invalid';
// or echo( json_encode( array( 'result' => 'invalid' ) ) );
}
然后返回jQuery分析返回的数据:
$('#fileupload').bind('fileuploaddone', function (e, data) {
/* Check returned data */
// Could use JSON or simple text output
// if ( data.result == 'invalid' ) {
if ( data == 'invalid' ) {
// file did not pass
} else {
// file uploaded fine
filesuploaded = filesuploaded + 1;
}
if (filesuploaded == filesqueued) {
filesuploaded = 0;
location.reload();
}
})
相关文章:
- 为什么jQuery文件的函数中有两个参数,但只接收一个参数
- 限制文件类型,大小,单次上传不'无法在jquery文件上传中工作
- 在jquery文件上传中调用默认的done函数
- 使用send时,jquery文件上传不调整图像客户端的大小
- JQuery文件上载未检测到动态添加的输入
- php文件中包含的jquery文件在服务器上不起作用
- jQuery文件上传崩溃的浏览器
- Blueimp jQuery文件上传音频/视频限制
- 如何在 elfinder(一个 jquery 文件管理器插件)中只显示文件夹列表
- 如何在 Blueimp jquery 文件上传器中发送 I 会话数据
- 如何使用javascript动态添加基于现有文件的jquery文件
- 带有自定义进度条的 JQuery 文件上传 (blueimp)
- 如何将jQuery文件添加到导航网站
- Drupal 7 将 jQuery 文件添加到所有页面
- 将变量从 php 文件发送到 jquery 文件
- jQuery文件上传代码和回调
- jQuery文件上传和验证未定义函数
- 引导程序jquery文件上传和laravel
- 命令代码jquery文件错误
- jQuery文件上传库:如何点击单个文件进行上传