You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Dropbox .Net SDK上传文件至他人共享的文件夹

解决Dropbox .NET SDK上传文件到共享文件夹的问题

核心原因

你上传时指定的路径是个人账户的默认路径,而非共享文件夹的实际路径/唯一标识,导致SDK在你的账户下创建了同名文件夹,而非写入目标共享文件夹。

解决步骤

  1. 获取目标共享文件夹的元数据
    调用Sharing.ListFoldersAsync()后,遍历返回的SharedFolderMetadata集合,定位到目标共享文件夹,记录它的PathLower(完整的共享文件夹路径,格式如/team-shared-folder)或Id(共享文件夹的唯一标识)。

    示例代码:

    var sharedFolders = await dbx.Sharing.ListFoldersAsync();
    var targetFolder = sharedFolders.Entries.FirstOrDefault(f => f.Name == "目标共享文件夹名称");
    if (targetFolder == null)
    {
        // 处理文件夹未找到的逻辑
        return;
    }
    
  2. 基于共享文件夹路径上传文件
    上传时,将文件的远程路径拼接为共享文件夹的PathLower加上文件名,而非直接使用文件名或个人账户根路径。

    示例上传代码:

    string localFile = @"D:\local-files\demo.pdf";
    string sharedFolderPath = targetFolder.PathLower;
    string remoteFileFullPath = $"{sharedFolderPath}/demo.pdf";
    
    using (var stream = File.OpenRead(localFile))
    {
        await dbx.Files.UploadAsync(
            remoteFileFullPath,
            WriteMode.Overwrite.Instance,
            body: stream
        );
    }
    
  3. 可选:用共享文件夹ID精准上传
    如果存在同名共享文件夹,建议用Id指定路径(格式为id:共享文件夹ID),避免路径混淆:

    string remoteFileFullPath = $"id:{targetFolder.Id}/demo.pdf";
    

注意事项

  • 确认你拥有该共享文件夹的写入权限,只读权限会导致上传失败。
  • 建议添加异常捕获逻辑,处理权限不足、路径无效等场景。

内容的提问来源于stack exchange,提问作者tim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 07:27:01