.NET Core 6中使用DropboxClient获取图片直链问题
.NET Core 6 获取Dropbox文件直链问题
我正在开发一个.NET Core 6应用,需要读取Dropbox共享文件夹里的文件。这个根文件夹的共享链接是https://www.dropbox.com/sh/4qwqh8piw4ky4ls/AADIJ-Ie6Pr_AdWp19uoOaIVa?dl=0,里面现在有Folder 1和一张图片,后续会添加更多文件夹和文件。我的需求是获取图片的直链(类似https://i.sstatic.net/eZZyN.png这种可直接嵌入的链接)。
以下是我的代码:
using (var dbx = new DropboxClient("accesstoken")) { List<string> fileLinks = new List<string>(); var sharedLink = new SharedLink("https://www.dropbox.com/sh/4qwqh8piw4ky4ls/AADIJ-Ie6Pr_AdWp19uoOaIVa"); await this.GetDropboxFileLinks(dbx, "", fileLinks, sharedLink); } public static async Task GetDropboxFileLinks(DropboxClient dbx, string folderUrl, List<string> fileLinks, SharedLink sharedLink) { var result = await dbx.Files.ListFolderAsync(path: folderUrl, sharedLink: sharedLink); foreach (var entry in result.Entries) { if (entry.IsFolder) { //var folder = (FolderMetadata)entry; folderUrl = $"{folderUrl}/{entry.Name}"; await GetDropboxFileLinks(dbx, folderUrl, fileLinks, sharedLink); } else { string fileUrl = $"{folderUrl}/{entry.Name}"; var link = await dbx.Sharing.ListSharedLinksAsync(); string sharedFileLink = ""; if (link.Links.Count == 0) { var linkResult = await dbx.Sharing.CreateSharedLinkWithSettingsAsync(fileUrl); sharedFileLink = linkResult.Url; } else { sharedFileLink = link.Links[0].Url; } fileLinks.Add(sharedFileLink); } } }
现在我能生成类似https://www.dropbox.com/sh/4qwqh8piw4ky4ls/AAC_dTayIVro_KbUwKND0buwa/Folder%201/ALF01ASET-1.jpg?dl=0的链接,但不知道如何获取URL中类似AADwV4p6Ibyc3n02I2TTEvoOa的部分,进而转换成直链。
内容的提问来源于stack exchange,提问作者Ali
相关产品推荐
相关产品推荐

