Разбор JSON в массив для Cloudinary и node.js - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь создать массив с возвращенным объектом JSON.Я использую обратный вызов Cloudinary.openUploadWidget и анализирую ответ для «Успех».Я обнаружил, что он добавляет каждый ответ от сервера, поэтому я получил несколько элементов в массиве одного и того же изображения.Мне просто нужен один элемент для каждого изображения.

Я смог разобрать их в массив, но он создает несколько массивов с каждым возвратом.Мне просто нужен 1 массив с успешно загруженными изображениями, как в старой версии ..

Вот мой код, пожалуйста, помогите !!!

theThum = [];

// Upload button 
$uploadBtn.click(function() { 

cloudinary.openUploadWidget({ 
cloud_name: 'xxxxx', 
upload_preset: 'xxxxxx', 
sources: [ 'local', 'url', 'camera', 'image_search', 'facebook', 'google_photos' ], // 'dropbox' 
// dropbox_app_key: 'xxxxx', 
google_api_key: 'xxxxxx', 
search_by_sites: ["all", "cloudinary.com"], 
search_by_rights: true 
}, 
(error, result) => {

//result = Array.from(result); 
if(result.event === 'success') {    
theThum.push(result.info);  
console.log(theThum); 
setThumb(theThum);

};  

});

});

//console.log(myResult); 
//console.log(myResult); 
function setThumb(myResult) { 

myResult.map(function(img_data, idx) { 
var $files = []; 
var $placeholder = renderPlaceholder();

$placeholder.prop('data-id', img_data.public_id); 
uploads[img_data.public_id] = img_data; 
processUploads(); 

if (imagePreviews) { 
$placeholder.find('.img-thumbnail .placeholder').prop('src', img_data.url).prop( 'title', escape(img_data.public_id) ); 
} 

$placeholder.find('.btn-undo-upload').click(function() { 
if (directUploading) { 
if ($placeholder.prop('data-id')) { 
delete uploads[$placeholder.prop('data-id')]; 
processUploads(); 
} 
} else { 
$field.remove(); 
} 

$placeholder.remove(); 

checkQueues(); 
}); 

$files.push(_.first($placeholder)); 

updateStatus($placeholder, 'Remove', 'glyphicon-ok'); 

checkQueues(); 
$(window).trigger('redraw'); 

return $placeholder; 
})  
};

Это то, что возвращается в консоли.log function

(2) [{…}, {…}]
0: {public_id: "spirit-fest1604170329_copy_rwmfaa", version: 1537141402, signature: "8ac06c23a1da8d138cf28e8c9696acb5cde54dcd", width: 379, height: 506, …}
1: {public_id: "FullSizeRender_gcten2", version: 1537141451, signature: "8de460788d6f1a782accf81c6e18aeb600cef3e3", width: 640, height: 468, …}
2: {public_id: "spirit-fest1604170329_copy_ds54m9", version: 1537141451, signature: "60baed9f0ce892779e09c124b0d22fc8987bc1c4", width: 379, height: 506, …}
length: 3
__proto__: Array(0)
ui-cloudinaryimages.js:232 
(3) [{…}, {…}, {…}]
0: {public_id: "spirit-fest1604170329_copy_rwmfaa", version: 1537141402, signature: "8ac06c23a1da8d138cf28e8c9696acb5cde54dcd", width: 379, height: 506, …}
1: {public_id: "FullSizeRender_gcten2", version: 1537141451, signature: "8de460788d6f1a782accf81c6e18aeb600cef3e3", width: 640, height: 468, …}
2: {public_id: "spirit-fest1604170329_copy_ds54m9", version: 1537141451, signature: "60baed9f0ce892779e09c124b0d22fc8987bc1c4", width: 379, height: 506, …}
length: 3
__proto__: Array(0)

1 Ответ

0 голосов
/ 17 сентября 2018

Результат содержит всю информацию о загрузке в ответе в виде массива. Если вы посмотрите на result.info, вы найдете ту же структуру ответов, что и в ответе на загрузку предыдущей версии. Например, result.info.public_id вернет публичный идентификатор

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...