[英]How do I append a value to formData on event? (blueimp/jQuery-File-Upload)
[英]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.