我使用Dropbox API使用以下代码上传文件:
let options = {
method: 'POST',
uri: 'https://content.dropboxapi.com/2/files/upload',
headers: {
'Authorization': 'Bearer ' + DROPBOX_API_TOKEN,
'Dropbox-API-Arg': "{\"path\": \"/test/" + req.file.originalname + "\",\"mode\": \"add\",\"autorename\": true,\"mute\": false}",
'Content-Type': 'application/octet-stream'
}, body: fs.createReadStream(`uploads/${req.file.originalname}`, {highWaterMark: 256 * 1024})
};
我可以将设置设为:
我想要的是,如果在上传文件时文件已存在,则无论如何都要添加文件,重命名就像&#34; document(2).txt&#34; < /强>
问题:
由于某种原因,此功能不是恒定的! Dropbox有时会重命名该文件(如果存在)并上传它,有时它不会。我无法弄清楚造成这种情况的原因。无论文件的类型是什么,它都应该是常量。
请注意:我在上传文件后也创建了可共享的链接,显然,如果文件中已存在可共享的链接,我就会知道。
更新
对于未按预期工作的上传呼叫的Http响应:
{"name": "Screen Shot 2018-01-09 at 15.35.16.png", "path_lower": "/test/screen shot 2018-01-09 at 15.35.16.png", "path_display": "/test/Screen Shot 2018-01-09 at 15.35.16.png", "id": "id:i5gw5e4a2xkAAAAAAALbLQ", "client_modified": "2018-01-18T11:16:23Z", "server_modified": "2018-01-18T11:16:23Z", "rev": "30c1e0c16e2cb", "size": 276546, "content_hash": "08da3b75a51211967932b34d93e2dc09c54040efd1ec7dfa9c4ed04928cf4873"}
如果您查看server_modified
字段,我可以看到今天上午可以在 11:16 上传此图片。然而,当我再次上传它时,它没有上传另一个重命名的版本。