#javascript #node.js
Вопрос:
Я предполагаю, что это в такой же степени привлекает внимание к тому факту, что документация, по-видимому, совершенно неверна в своем применении, а также просто в целом отсутствует. Обычно я бы отправил эту часть сообщения им лично, но их контактная форма также выдает мне ошибки и не отправляет, так что в любом случае у меня нет средств для этого. В то же время я больше беспокоюсь о том, чтобы заставить этот код работать, поэтому, надеюсь, кто-то, имеющий опыт работы с этим SDK, или член команды Image4io, увидит это и сможет дать публичный ответ другим, кто столкнется с этим препятствием.
Для начала я инициализировал объект Image4io, как описано здесь на github: https://github.com/Image4IO/image4ionodeSDK/
документация на веб-сайте: https://image4.io/en/documentation/api-sdk/#operation/UploadImage
Пример загрузки изображения, приведенный в документации веб-сайта, выглядит следующим образом:
let client=new Image4ioAPI.Image4ioAPI(apiKey,apiSecret);
var request = new Models.UploadImagesRequest("/folderName", true, true);
request.Add("/path/to/image/location/name-of-the-image.jpg", "name-of-the-image", "name-of-the-image.jpg");
let response=client.UploadImage(request);
3 из очень редких 4 строк кода, которые они предоставляют, выдают ошибки. Откуда взялся этот объект Модели? В импорте нет соответствующего класса, и пример кода, очевидно, не показывает, где он был определен. Что это такое и откуда оно взялось?
Ну, я нашел соответствующую функцию «UploadImagesRequest» в исходном классе импорта, поэтому я предполагаю, что Models устарела, и ее функциональность была перенесена в объект класса Image4io. Если бы это было так, то решением было бы просто получить доступ к этой функции вместо этого… Но он используется по-другому. У него есть 4 аргумента, 4-й из которых — «Image4io.Введите » Загрузить файл []». Этот тип не имеет примеров использования в документации или дополнительных подробностей, описывающих, что это такое. Я предполагаю, что байтовые данные изображения каким-то образом попадают туда, но как?
Наконец, у нас есть запрос.Добавить… за исключением того, что мы этого не делаем, потому что это не функция 🙁 похоже, что это было использовано для фактического получения данных изображения (возможно, типа uploadFile?) на основе пути к изображению. Если эта функция сейчас отключена, как получить данные файла для использования в функции запроса на загрузку?
Мы будем очень признательны за любую помощь в разработке этого SDK. Поиск в Google не дал никаких значимых результатов, так что, надеюсь, мы сможем помочь и в этом отделе. Насколько я знаю, я просто каким-то образом получил неправильную версию. Я думаю, я мог бы попробовать понизить рейтинг до версии, соответствующей документации, но… на мой взгляд, это совсем не исправление.
Дайте мне знать, если есть еще какая — либо информация, которую я мог бы предоставить, чтобы помочь
Ответ №1:
Вы можете загрузить изображение следующим образом:
var client=new Image4ioClient(API_KEY,API_SECRET);
var files=Array();
files.push(new UploadFile("./test.jpg","test.jpg"));
client.UploadImage(new UploadImagesRequest("/",true,false,files))
.then(res=>console.log(res))
Если у вас есть двоичные данные под рукой, вы можете записать их во временный файл, а затем загрузить их.