Мне нужно нажать файл из приложения node.js на веб-сервер, работающий в другом месте, который принимает файлы через обычный механизм загрузки. Например, скажем, принимающий сервер имеет страницу с формой, как это:Загрузка файла программно из узла.js на другой веб-сервер
<form enctype="multipart/form-data" action="upload.php" method="POST">
file: <input name="uploaded" type="file" /><br />
name: <input type="text" name="filename" /><br />
<input type="submit" value="upload" />
</form>
Если пользователь выбирает файл, а затем дает имя файла в поле ввода текста, то этот файл будет загружен на сервер, через upload.php (который я не контролирую) и сохранен в качестве имени. (в форме могут быть другие элементы, но я показываю только те, для простоты). PHP-скрипт будет отвечать простым текстовым ответом «ok» или «error ...» (с ошибкой).
Теперь, я хочу, чтобы программа могла отправлять файл с node.js на этот php-скрипт. Файл (на стороне node.js) может существовать или не существовать в файловой системе, или это может быть что-то, что приходит откуда-то еще, например, я могу вытащить его из URL-адреса, он может быть загружен пользователем, и т. д.
Я видел некоторые вещи вдоль этих строк, но я не уверен, как иметь дело с параметрами (имя файла и т. д.), и я не уверен, что подавать в объекте options. Также в этом примере предполагается, что он поступает из файла файловой системы, который, как я говорю, может быть или не быть.
fs.createReadStream(filename).pipe(http.request(options, function(response) {
}));
В примере, который транслирует поток чтения, вы можете сделать это с потоками, которые не являются файлами ОС. Что вы пробовали и не работали? Могли ли вы решить эту проблему? –
Да, я просто использовал модуль «плакат», и он обработал детали. :) – rob
Отлично! Не могли бы вы добавить это как ответ (а также какой-то код, который вы использовали), и принять его? –