Dropbox API文件上传" WriteMode"无法正常工作

时间:2018-01-18 11:43:56

标签: javascript node.js dropbox-api

我使用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})
};

我可以将设置设为:

  1. 模式 =添加
  2. 自动重命名 = true
  3. 我想要的是,如果在上传文件时文件已存在,则无论如何都要添加文件,重命名就像&#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 上传此图片。然而,当我再次上传它时,它没有上传另一个重命名的版本。

0 个答案:

没有答案