Как получить информацию об изображении облачного виджета при загрузке?

Я использую облачный виджет для загрузки изображений на свои веб-сайты. Теперь я хотел бы получать информацию из изображения, когда оно загружается, например. путь этого изображения.

Я вижу, что эта информация доступна в журнале консоли при загрузке изображения, например. {путь: "v1586568667 / myusername / lp62llmn8sa7r5vqjovd.jpg"}

Я считаю, что мне нужно использовать ajax для получения этой информации, но я изо всех сил пытаюсь найти несколько примеров, если бы кто-то мог указать мне правильное направление.


person Seb    schedule 11.04.2020    source источник


Ответы (2)


Спасибо всем за ваш отзыв. Я нашел способ, который соответствует моим потребностям, см. Обновленный сценарий ниже, где я беру значение "result.info.path" с помощью "var imagePath", а затем могу вызывать его где угодно на странице с помощью "document.getElementById" Например.

var myWidget = cloudinary.createUploadWidget({
  cloudName: 'myusername', 
  uploadPreset: 'preset_unsigned'}, (error, result) => { 
    if (!error && result && result.event === "success") { 
      console.log('Done! Here is the image info: ', result.info); 

    var imagePath = result.info.path;

        document.getElementById("uploadedImage").src = "https://res.cloudinary.com/myusername/image/upload/" + imagePath;

    }
  }
)

document.getElementById("upload_widget").addEventListener("click", function(){
    myWidget.open();
  }, false);
person Seb    schedule 11.04.2020
comment
Действительно полезно для моего проекта rails ruby. - person zmd94; 17.04.2020

Конфигурация Загрузить виджет использует функцию обратного вызова, которая будет иметь объекты error и result из вызова метода загрузки. Вы можете использовать эти два объекта, чтобы проверить, не удалась ли загрузка, каков был статус и как вы хотите обработать информацию, возвращаемую в ответе API.

Например, если вы хотите распечатать secure_url на загруженном изображении, вы можете сделать что-то вроде:

var cloudinaryWidget = cloudinary.createUploadWidget({
    cloudName: "xxx",
    uploadPreset: "yyy"
  },
  function(error, result) {
    if (!error && result && result.event === "success") {
      console.log(result.info.secure_url);
    }
  }
);

После успешной загрузки изображения консоль зарегистрирует secure_url.

Как правило, объект result.info будет содержать стандартный ответ API загрузки. Таким образом, вы можете извлечь нужные вам детали. Например. result.info.public_id, который вы, вероятно, тоже захотите сохранить на своей стороне, чтобы вы могли выполнять другие операции API с файлом, например удалять его.

person Aleksandar Kostadinov    schedule 11.04.2020