【问题标题】:Streaming upload from NodeJS to Dropbox从 NodeJS 流式上传到 Dropbox
【发布时间】:2018-02-23 10:07:30
【问题描述】:

我们的系统在与 Dropbox 交互时需要使用内部安全检查,因此我们不能使用 Dropbox 的客户端 SDK。

我们宁愿上传到我们自己的端点,应用安全检查,然后将传入的请求流式传输到保管箱。

我在这里做得很短,因为有一个旧的 NodeJS Dropbox SDK 支持管道,但新的 SDK 不支持。 旧版 SDK: https://www.npmjs.com/package/dropbox-node

我们希望接收传入的上传请求并将其转发到保管箱。(因此,如果我们先将整个内容上传到我们的服务器然后上传到保管箱,则可以防止上传时间增加一倍)

有没有办法解决这个问题?

【问题讨论】:

    标签: node.js streaming dropbox dropbox-api


    【解决方案1】:

    我的 Dropbox NPM 模块 (dropbox-v2-api) 支持流式传输。它基于 HTTP API,因此您可以利用流。例子?我是这样看的:

    const contentStream = fs.createReadStream('file.txt');
    const securityChecks = ... //your security checks
    
    const uploadStream = dropbox({
        resource: 'files/upload',
        parameters: { path: '/target/file/path' }               
    }, (err, result, response) => {
        //upload finished
    });
    
    contentStream
        .pipe(securityChecks)
        .pipe(uploadStream);
    

    全流支持示例here

    【讨论】:

      猜你喜欢
      • 2014-03-21
      • 2021-09-03
      • 2016-06-30
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 2014-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多