gpt4 book ai didi

javascript - Dropbox API - 文件读取和上传node.js

转载 作者:太空宇宙 更新时间:2023-11-04 02:02:39 25 4
gpt4 key购买 nike

我正在使用 dropbox API 从 node.js 文件结构中读取文件,然后将该文件上传到 dropbox 文件夹中。

文件已上传,但其,上传文件的大小为0 字节

var path = require("path");
var temp_dir = path.join(process.cwd(), 'pdf/');

if (!fs.existsSync(temp_dir))
fs.mkdirSync(temp_dir);
fs.readFile(temp_dir + 'report.pdf', function read(err, data) {
if (err) {
throw err;
}

fileupload(data);
});

文件上传代码:

function fileupload(name, content) {
request.put('https://api-content.dropbox.com/1/files_put/auto/my_reports/report.pdf', {
headers: {
Authorization: 'TOKEN HERE',
'Content-Type': 'application/pdf'
},
body: content
}, function optionalCallback(err, httpResponse, bodymsg) {
if (err) {
console.log(err);
}
else {
console.log("File uploaded to dropbox successfully!");
fs.unlink(temp_dir + 'report.pdf', function(err) {
if (err)
throw err;
else {
console.log("file deleted from server!");
}
})
request.post('https://api.dropboxapi.com/1/shares/auto/MY_reports/report.pdf' + '?short_url=false', {
headers: {
Authorization: 'TOKEN HERE'
}
}, function optionalCallback(err, httpResponse, bodymsg) {
if (err) {
console.log(err);
}
else {
console.log('Shared link 2 ' + JSON.parse(httpResponse.body).url);

}
});

}
});
}

Dropbox 中上传的文件:

enter image description here

最佳答案

fileupload 采用两个参数:namecontent,但您只传递一个参数。这意味着content未定义,这就是您上传空文件的原因。

由于您实际上并未使用 name,因此只需从 fileupload 的定义中删除该参数即可:

function fileupload(content) {
...

请注意

您使用的是 Dropbox API v1,该版本在一年前已被弃用,编号为 due to be turned off soon 。您应该切换到 API v2 .

关于javascript - Dropbox API - 文件读取和上传node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45435832/

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