从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