我需要将文件从 node.js 应用程序推送到在其他地方运行的 Web 服务器,该服务器通过典型的上传机制接受文件。例如,假设接收服务器有一个页面,其表单如下:
<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 拉下来它,它可能是由用户上传的,等等
我已经看到了这些方面的一些东西,但我不确定如何处理参数(文件名等),也不确定在选项对象中提供什么。此示例还假设它来自文件系统文件,正如我所说的那样,可能是也可能不是。
fs.createReadStream(filename).pipe(http.request(options, function(response) {
}));