Dropbox - API 下载 link 文件
Dropbox - API get the download link of a file
我有一个网络应用程序,用户可以在其中上传他的徽标图片
使用 dropbox api 我可以将文件保存到 dropbox 文件夹,这很棒
但是我想下载 link 所以使用我的 angular 客户端无法设置 img src 标签并显示图像
我一直在使用这个实现:
String url = client.sharing().createSharedLinkWithSettings("/" + clientId + "/logo." + fileName[1]).getUrl();
不过顾名思义,我得到了一个共享 link,它基本上是一个带有图像的网页
我只需要图像
可能吗?
是的,请改用 DbxUserFilesRequests.getTemporaryLink
。这将为您提供一个直接指向文件数据的临时 link。
@Greg 给出的答案是正确的,但我需要一个永久的 link 我能够使用这里的答案
Dropbox API - Get permanent link for my media?
这是我的实现
String[] fileName = file.getOriginalFilename().split("\.");
InputStream in = file.getInputStream();
client.files().uploadBuilder("/" + clientId + "/logo." + fileName[1]).withMode(WriteMode.OVERWRITE).uploadAndFinish(in);
log.debug("Successfully uploaded image to drop box account");
SharedLinkMetadata meta = client.sharing().createSharedLinkWithSettings("/" + clientId + "/logo." + fileName[1]);
String url = meta.getUrl();
// now we need to strip any other url params and append raw=1;
url = url.split("\?")[0];
url = url + "\?raw=1";
这对我有用,比上面的解决方案容易得多,per this article:
To get a direct download link, replace the www.dropbox.com with dl.dropboxusercontent.com
编辑:我还发现您可以将查询参数 ?dl=1
(dl 表示下载,1 表示“已启用”)添加到共享 link,这将使它成为 direct-download link 还有。这可能比上面的方法更可靠 (long-term)。
我有一个网络应用程序,用户可以在其中上传他的徽标图片 使用 dropbox api 我可以将文件保存到 dropbox 文件夹,这很棒
但是我想下载 link 所以使用我的 angular 客户端无法设置 img src 标签并显示图像
我一直在使用这个实现:
String url = client.sharing().createSharedLinkWithSettings("/" + clientId + "/logo." + fileName[1]).getUrl();
不过顾名思义,我得到了一个共享 link,它基本上是一个带有图像的网页 我只需要图像 可能吗?
是的,请改用 DbxUserFilesRequests.getTemporaryLink
。这将为您提供一个直接指向文件数据的临时 link。
@Greg 给出的答案是正确的,但我需要一个永久的 link 我能够使用这里的答案 Dropbox API - Get permanent link for my media?
这是我的实现
String[] fileName = file.getOriginalFilename().split("\.");
InputStream in = file.getInputStream();
client.files().uploadBuilder("/" + clientId + "/logo." + fileName[1]).withMode(WriteMode.OVERWRITE).uploadAndFinish(in);
log.debug("Successfully uploaded image to drop box account");
SharedLinkMetadata meta = client.sharing().createSharedLinkWithSettings("/" + clientId + "/logo." + fileName[1]);
String url = meta.getUrl();
// now we need to strip any other url params and append raw=1;
url = url.split("\?")[0];
url = url + "\?raw=1";
这对我有用,比上面的解决方案容易得多,per this article:
To get a direct download link, replace the www.dropbox.com with dl.dropboxusercontent.com
编辑:我还发现您可以将查询参数 ?dl=1
(dl 表示下载,1 表示“已启用”)添加到共享 link,这将使它成为 direct-download link 还有。这可能比上面的方法更可靠 (long-term)。