簡體   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