Параметр Cloudinary Upload «перезаписать» не работает на Node.js

документы здесь указывают вариант перезаписи:

перезаписать (логическое значение) — следует ли перезаписывать существующие ресурсы с тем же общедоступным идентификатором. Если установлено значение false, немедленно возвращайтесь, если был найден ресурс с таким же общедоступным идентификатором. По умолчанию: правда.

Когда я устанавливаю значение false, файлы по-прежнему загружают все свои данные. Кажется, это ошибка.

cld.uploader.upload(filePath, function(result) {
  if (result.error) {
    return done(result.error);
  }
  done();
}, {
  // Note these are the upload options.
  resourcetype: 'auto',
  publicid: publicId,
  overwrite: false,
});

person Michael Cole    schedule 29.06.2015    source источник


Ответы (1)


Когда используется overwrite: false, Cloudinary проверяет, существует ли в вашей учетной записи изображение с тем же общедоступным идентификатором, который назначен в параметрах загрузки, если нет — загружается новое изображение. В противном случае вы получите ответ, который выглядит так, как будто была выполнена загрузка, однако детали, которые вы на самом деле получаете из ответа, относятся к уже (старому) загруженному изображению, а не к новому. Также возвращается дополнительный параметр (existing), когда он возвращается как true, это означает, что загрузка не производилась.

person Itay Taragano    schedule 02.07.2015
comment
Привет, Итай, хорошо, это то, что говорят документы, но у меня это не работает в приведенном выше коде. Какие-либо предложения? - person Michael Cole; 02.07.2015
comment
Разве параметр existing не возвращается для вас? Если это так, обратитесь в службу поддержки Cloudinary, предоставив сведения о примере загрузки и ваше имя_облака, и мы будем рады более подробно изучить наши журналы. - person Itay Taragano; 03.07.2015
comment
Привет, Итай, хорошо, да. Я вижу existing: true в выводе. Однако клиент все еще передает файл. Из документов у меня сложилось впечатление, что клиент не будет повторно передавать данные. Как ответ 409. stackoverflow.com/questions/14250991/ - person Michael Cole; 03.07.2015
comment
Привет, Майкл, другие варианты: либо выполнить запрос HEAD к целевому ресурсу и ожидать 404, прежде чем двигаться дальше, либо иметь собственную БД и отслеживать используемые общедоступные идентификаторы на вашем конце. - person Itay Taragano; 03.07.2015