繁体   English   中英

jQuery-File-Upload(blueimp)-如何在JS end和PHP中访问错误值

[英]jQuery-File-Upload (blueimp) - how do I access the error value both in JS end and PHP

如何使用blueimps文件上传器测试上传的文件是否返回了错误。

上传者仅允许上传单个文件(必须为图片)。

我有以下js代码

<script>
$(function () {
    $('#fileupload').fileupload({
    dataType: 'json',
    singleFileUploads: true ,
    submit: function (e, data) {
       $('#upload_overlay').fadeIn(300);
    },
    done: function (e, data) {



      if(typeof data.files.error == "undefined"){
        $('#err_succ_msg').html('Photo successfully updated.').css('background-color','#B1DD8B').show(1);
        $('#upload_overlay').fadeOut(300);
      }
      else{

        $('#err_succ_msg').html('Photo update failed. Please try again.').css('background-color','#F76151').show(1);
        $('#upload_overlay').fadeOut(300);
      }

    },

    fail: function (e, data) {
      $('#err_succ_msg').html('Photo update failed. Please try again.').css('background-color','#F76151').show(1);
      $('#upload_overlay').fadeOut(300);
    }
    });
});
</script>

在“完成”功能中,我试图找出是否有错误,以便向用户显示正确的消息。

我已经尝试过“更改”出data.result [0] .error和data.files [data.index] .error,但它要么为空,要么为“ data.result [0]”未定义。

通常是从以下问题开始: blueImp / jquery文件上传-如果不接受文件类型,如何获取错误消息?

同样在PHP方面,如何检查是否有错误。 例如,PHP索引文件具有以下内容:

require('UploadHandler.php');
$upload_handler = new UploadHandler();

我需要找出什么错误才能在服务器端进行一些处理?

只是为了跟进此事。 这就是我在JS端访问对象数据的方式:

data['jqXHR']['responseJSON']['files'][0]['error']

因此例如获取文件名将是

data['jqXHR']['responseJSON']['files'][0]['name']

最后,在PHP端,我只是将代码放在文件uploadHandler.php中的“ body”函数中

我必须将JSON格式的字符串转换为数组才能访问数据

protected function body($str) { $new_array = json_decode($str, true); ....

所以我可以这样访问

$new_array['files'][0]['name']

希望对您有所帮助。

暂无
暂无

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

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