如何使用请求模块下载,然后上传文件而无需中间文件

2023-11-30

我想先下载一个图像文件到服务器,然后将该文件上传到其他服务器。

如果没有download file step,这将非常简单

 var fs = require('fs');
 var path = '/tmp/test.png';
 var formData = {
   method: POST,
   url: 'http://127.0.0.1:3000',
   json: true,
   formData :{file: fs.createReadStream(path)}
 };
    request(formData, function(err, res, body){
   console.log("successful");
 });

然而,对于情况download image file;

我不想先保存文件,通过这样的格式request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))。然后重复fs.createReadStream.

有什么方法可以获取文件流,这样我就可以直接使用文件流来构成formData;


这对我有用:

var fs       = require('fs');
var request  = require('request');
var formData = {
  method   : 'POST',
  url      : 'http://127.0.0.1:3000',
  json     : true,
  formData : { file : request(downloadUrl) }
};

request(formData, function(err, res, body){
  if (err) throw err;
  console.log("successful");
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用请求模块下载,然后上传文件而无需中间文件 的相关文章

随机推荐

  • AngularJS 错误:指令“XXXXXX”的模板必须只有一个根元素

    这是后续这个问题 我正在尝试构建和 HTML table 与多个 tr 行 我希望其中一些行由我的指令呈现myDirectiveA以及其他由我的指令 myDirectiveB 呈现的内容 您可以在下面看到我的文件的样子 如果只有一个 一切正
  • Android,如何创建选项菜单

    在这里 我尝试制作选项菜单 但菜单没有显示在屏幕上 所以请指导我哪里做错了 菜单测试 java public class MenuTest extends Activity Override public boolean onCreateO
  • 给定当前日期和周开始,获取周开始和结束日期

    如果可能的话 我更喜欢针对以下场景的 joda 或非 joda 解决方案 假设我的一周从 02 05 2012 开始 并且给定的当前日期是 02 22 2011 我需要计算给定当前日期的周开始日期和结束日期 所以我的解决方案应该让一周从 0
  • ASP.Net 按钮单击事件未触发

    这或许与这个问题 但我有更多的信息 最近 在使用 Linq 编写了一些新代码后 我将 ASP Net 应用程序更新到了 NET 3 5 现在我的页面间歇性地停止触发事件处理程序 我将范围缩小到带有 Ajax 的页面 并且我认为是 Scrip
  • C 编译错误:“可变大小的对象可能未初始化”

    为什么我使用以下代码收到错误 可变大小的对象可能未初始化 int boardAux length length 0 我假设您正在使用 C99 编译器 带有支持动态大小的数组 您的代码中的问题是 当编译器看到您的变量声明时 它无法知道数组中有
  • ASP.Net Identity 注销所有会话

    如何使用 ASP NET Identity 注销所有会话 假设您使用同一用户从两个不同的浏览器登录 当用户从一个浏览器注销时 另一个浏览器的会话也应该失效 我需要这个来使用户在更改密码时的所有会话无效 您可以使用以下代码使用 ASP Net
  • 在 Nexus 中部署工件时出错

    我在 Nexus 服务器中部署自己的存储库中的工件时遇到错误 无法部署工件 无法传输工件 无法传输文件 http my artifact 返回代码为 400 我让 Nexus 与一个自定义存储库 my repo 一起运行 并使用下一个 Ma
  • 在作业中进行大量选择后,Spring 批处理内存不足

    我的工作遇到了问题 我正在尝试从数据库读取记录并写入txt 文件 数据库包含 1 800 000 条记录 有 149 列 问题是 select 位于 jobConfig xml 中的 bean mysqlItemReader 中 但是 我认
  • spring MVC POST 表单的大小限制?

    我有一个表格
  • 将存储库公开为 IQueryable

    我想将存储库公开为 IQueryable 类型 该存储库使用 Linq to NHibernate 与数据库进行通信 谁能指出我的示例实现吗 例如 我的存储库上相应的 GetEnumerator 实现是什么样子 Edit 这样的事情合适吗
  • 使用passport.js在node.js中进行身份验证后重定向到上一页

    我正在尝试使用node js express 和passport js 建立登录机制 登录本身工作得很好 会话也用 redis 很好地存储 但在提示用户进行身份验证之前将用户重定向到他开始的位置时确实遇到了一些麻烦 例如用户点击链接http
  • NumberField 或如何让 TextField 输入 Double、Float 或其他带点的数字

    根据评论这个问题我做了一个自定义的 SwiftUIView基于一个TextField 它使用数字键盘 只能输入数字和点 只能输入一个点 点 并且可以通过Bindable Double State价值通过View用于输入 但有一个错误 当您删
  • iOS 上的 CVOpenGLESTextureCache 与 glTexSubImage2D

    我的 OpenGL 应用程序使用 OpenGL 全屏渲染纹理并定期更新其中的一部分 到目前为止 我一直在使用 glTexImage2D 来推送初始纹理 然后使用 glTexSubImage2D 更新脏区域 为此 我使用单缓冲 这效果很好 我
  • 大数的质因数分解[关闭]

    Closed 这个问题是无关 目前不接受答案 我想求小于10 12的大数的质因数分解 我得到了这个代码 用java public static List
  • 类工厂方法实现

    因此 我正在研究 Objective C 的 Apple 文档 在开始 iphone 开发之前 其中一项练习指出 我应该创建一个指定的初始值设定项 具有 3 个参数 和合适的工厂方法 现在我根据我的理解这样做了 但我无法实现工厂方法 因为我
  • 以编程方式清除 Android 上 PhoneGap/Cordova 应用程序的缓存以模拟全新安装?

    这与我之前的问题有关 每次安装应用程序时 如何清除 Android 模拟器上应用程序的 localStorage 它还建立在 如何清除 Android 应用程序缓存 and 如何以编程方式清除应用程序数据 上述问题都没有给出适用于 Andr
  • 新线程的异步等待行为

    我试图理解 async await 的精确行为 但在理解它时遇到了一些麻烦 考虑这个例子 public async void StartThread while true SomeOtherClass SomeSynchronousStuf
  • win 秒更新后 MS-access 无法捕获树视图事件

    使用 TreeView MSComctlLib TreeCtrl 2 的 Access 2010 应用程序按预期显示和填充 但在 Windows 安全补丁之后突然不会将事件触发回 VBA 尝试回滚 syswow64 中的 MSCOMCTL
  • 获取远程PC的日期时间?

    是否有任何类可用于获取 net 中远程 PC 的日期时间 为此 我可以使用计算机名称或时区 对于每种情况 是否有不同的方法来获取当前日期时间 我使用的是 Visual Studio 2005 我给你一个解决方案 使用WMI 您可能需要也可能
  • 如何使用请求模块下载,然后上传文件而无需中间文件

    我想先下载一个图像文件到服务器 然后将该文件上传到其他服务器 如果没有download file step 这将非常简单 var fs require fs var path tmp test png var formData method