从node.js上传文件到Dropbox

我正尝试从Node.js上传文件到我的保pipe箱帐户。 我已经在Dropbox开发者控制台上创build了一个应用程序,然后生成了一个访问令牌。

我正在使用下面的代码来读取并上传文件到Dropbox:

app.get('/uploadfile', function (req, res) { if (req.query.error) { return res.send('ERROR ' + req.query.error + ': ' + req.query.error_description); } fs.readFile(__dirname + '/files/pictureicon.png','utf8', function read(err, data) { if (err) { throw err; } fileupload(data); }); }); function fileupload(content) { request.put('https://api-content.dropbox.com/1/files_put/auto/proposals/icon.png', { headers: { Authorization: 'Bearer TOKEN-HERE', 'Content-Type': 'image/png' }, body: content}, function optionalCallback (err, httpResponse, bodymsg) { if (err) { return console.log(err); } console.log("HERE"); }); } 

通过使用上面的代码我的文件出现在我的保pipe箱帐户,但我无法打开它。 它出现了以下错误。

在这里输入图像说明

任何想法我可能做错了什么? 我在上面的代码中犯了错误吗?

问题可能是你用utf-8编码读取文件,即使它不是文本文件。 你应该读取缓冲区(通过不提供编码参数 )。