使用Dropbox API上传文件后如何获取永久URL?
获取Dropbox文件的永久URL解决方案
你当前用GetTemporaryLinkAsync拿到的是临时下载链接,有效期仅24小时。要获取永久可访问的URL,得用Dropbox的共享链接功能,对应的API是CreateSharedLinkWithSettingsAsync。
修改后的代码示例
替换原代码中获取临时链接的部分,改为创建共享链接:
var updated = await dbx.Files.UploadAsync( folder + "/" + file, Dropbox.Api.Files.WriteMode.Overwrite.Instance, body: mem); // 创建共享链接(若文件已存在共享链接,API会直接返回现有链接) var sharedLink = await dbx.Sharing.CreateSharedLinkWithSettingsAsync(updated.PathDisplay); // 提取永久共享链接(默认是预览页链接) house.MainImage = sharedLink.Url;
可选:获取直接下载的永久链接
如果需要直接下载文件而非打开预览页,可将共享链接中的dl=0替换为dl=1:
house.MainImage = sharedLink.Url.Replace("dl=0", "dl=1");
权限设置(可选)
如果需要让链接公开可访问(无需登录Dropbox),创建共享链接时可指定权限:
var sharedSettings = new Dropbox.Api.Sharing.SharedLinkSettings { Access = Dropbox.Api.Sharing.RequestedAccessLevel.Public }; var sharedLink = await dbx.Sharing.CreateSharedLinkWithSettingsAsync(updated.PathDisplay, sharedSettings);
共享链接的有效期是永久的,除非手动取消共享、删除文件,或是修改了文件的共享权限。
内容的提问来源于stack exchange,提问作者Shahin Babayev
相关产品推荐
相关产品推荐

