Можно ли сделать запрос при чтении файла с URL-адреса?

#node.js #request #fs

#node.js #запрос #fs

Вопрос:

Можно ли прочитать файл с URL-адреса при выполнении запроса?

 var options = {
    'method': 'POST',
    'url': 'http://172.19.64.193:8080/services/update?id=AkDwkm5bKo0ARvuvTaM7yj',
    'headers': {
        'Authorization': 'Bearer '   authToken
    },
    formData: {
        'Filedata': {
            'value': fs.createReadStream('image.jpg').pipe(request.put('https://www.worldcocoafoundation.org/wp/uploads/image.jpg')),
            'options': {
                'filename': '7798153810500.jpg',
                'contentType': null
            }
        }
    }
};
request(options, function (error, response) {
    if (error) throw new Error(error);
    console.log(response.body);
});
 

При выполнении createReadStream с помощью pipe() он выдает ошибку:

 TypeError: request.put is not a function
 

Комментарии:

1. Откуда request берется? Можете ли вы показать код, который определяет эту переменную? Похоже, что, возможно, вы случайно переопределили request переменную чем-то, что не является модулем NPM с тем же именем, и, следовательно, нет никакого .put() метода, потому что эта request переменная не является request модулем из NPM, а чем-то другим.

2. Куда вы пошли? Пожалуйста, не просто публикуйте и исчезайте. Мы не сможем вам помочь, если вы это сделаете.

3. Да, запрос был переопределен. Но теперь я получаю сообщение об ошибке: Ошибка: ENOENT: нет такого файла или каталога, открыть ‘image.jpg ‘

4. Если вы говорите, что это fs.createReadStream('image.jpg') генерирует ENOENT, то это говорит само за себя, что image.jpg не найдено в текущем каталоге. Возможно, ему нужен правильный путь? Или ваш код еще не закончил его размещение?

5. Разве он не считывается с URL-адреса, а затем загружается?

Ответ №1:

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

Вам нужно будет изменить имя параметра переменной / функции, которое переопределяет его, чтобы они не конфликтовали.