Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dropbox-API获取文件的下载链接_Dropbox Api - Fatal编程技术网

Dropbox-API获取文件的下载链接

Dropbox-API获取文件的下载链接,dropbox-api,Dropbox Api,我有一个网络应用程序,用户可以上传他的标志图片 使用dropbox api,我可以将文件保存到dropbox文件夹,这非常好 然而,我想得到下载链接,所以使用我的angular客户端将能够设置img src标记并显示图像 我一直在使用这个实现: String url = client.sharing().createSharedLinkWithSettings("/" + clientId + "/logo." + fileName[1]).getUrl(); 然而,顾名思义,我得到了一个共享

我有一个网络应用程序,用户可以上传他的标志图片 使用dropbox api,我可以将文件保存到dropbox文件夹,这非常好

然而,我想得到下载链接,所以使用我的angular客户端将能够设置img src标记并显示图像

我一直在使用这个实现:

String url = client.sharing().createSharedLinkWithSettings("/" + clientId + "/logo." + fileName[1]).getUrl();
然而,顾名思义,我得到了一个共享链接,基本上是一个带有图片的网页 我只需要图像
可能吗?

是的,改用。这将为您提供一个直接指向文件数据的临时链接。

Greg给出的答案是正确的,但我需要一个永久链接,我可以从这里使用答案

这是我的实现

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";

我不得不取消标记答案,因为它是一个临时链接,几个小时后我从dropbox获得410。我需要的是一个永久链接。注意,最好完全解析URL以修改参数,而不是像这样执行原始字符串修改。