gpt4 book ai didi

javascript - 如何使用 dropbox.js 将文件上传到 Dropbox?

转载 作者:行者123 更新时间:2023-11-30 13:13:03 25 4
gpt4 key购买 nike

原创

我在使用官方 dropbox.js 从 Node.js 将文件(图像)上传到 Dropbox 时遇到问题。我想上传我在另一台服务器上的图片。例如,使用 dropbpox 图标 (www.dropbox.com/static/images/new_logo.png)。

client.writeFile(file, 'www.dropbox.com/static/images/new_logo.png', function(error, stat) {
if (error) {
return es.send(error.status); // Something went wrong.
}

res.send("File saved as revision " + stat.revisionTag);
});

我知道这只会创建一个带有 url 的文本文件,但我如何才能将图片上传到 Dropbox?我也尝试使用 http.get 下载文件,然后将其上传到保管箱,但它不起作用。

谢谢。

更新更多信息

首先,我使用以下代码从远程 url 下载图像:

var request = http.get(options, function(res){
var imagedata = ''
res.setEncoding('binary')

res.on('data', function(chunk){
imagedata += chunk
})

res.on('end', function(){
console.log("Image downloaded!");

fs.writeFile(local, imagedata, 'binary', function(err){
if (err) throw err
console.log('File saved.')
})
})
})

文件保存正确。然后我尝试做一些事情:

将“图像数据”发送到 Dropbox:

  console.log("Image downloaded!");

client.writeFile(file, imagedata, function(error, stat) {
if (error) {
return response.send(error.status); // Something went wrong.
}

response.send("File saved as revision " + stat.revisionTag);
});

有些东西上传到 Dropbox 但没有用。

然后我也尝试从光盘读取文件然后将其发送到 Dropbox 但它也不起作用:

fs.readFile(file, function(err, data) {

最佳答案

使用 dropbox-js 0.9.1-beta1 或更高版本从 node.js 上传二进制文件。您需要将 Buffer 或 ArrayBuffer 实例传递给它。试试这个代码:

var req = http.get(options, function(res) {
var chunks = [];

res.on('data', function(chunk) {
chunks.push(chunk);
});

res.on('end', function() {
console.log("Image downloaded!");

var imageData = Buffer.concat(chunks);
client.writeFile(file, imageData, function(error, stat) {
if (error) {
return response.send(error.status);
}
response.send("File saved as revision " + stat.revisionTag);
});
});
});

```

原始答案:dropbox-js README 提到二进制文件目前还不能在 node.js 中工作。

关于javascript - 如何使用 dropbox.js 将文件上传到 Dropbox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13182204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com