从NodeJS上传上传到Dropbox

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

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

由于有一个支持管道的较老的NodeJS Dropbox SDK,所以我在这里简短介绍一下,但新的SDK不支持。 旧SDK:https://www.npmjs.com/package/dropbox-node

我们希望接收传入的上传请求,并将其转发到Dropbox(因此它可以避免上传时间增加一倍,如果我们首先将整个事件上传到我们的服务器,然后上传到Dropbox)

有什么办法可以解决这个问题吗?


我的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);

全流支持示例在这里。

链接地址: http://www.djcxy.com/p/69087.html

上一篇: Streaming upload from NodeJS to Dropbox

下一篇: send files from google drive to dropbox with google app scripts