【问题标题】:Dropbox - API get the download link of a fileDropbox - API 获取文件的下载链接
【发布时间】:2018-02-22 17:41:33
【问题描述】:

我有一个网络应用程序,用户可以在其中上传他的徽标图片 使用 dropbox api 我能够将文件保存到一个很棒的 dropbox 文件夹

但是我想获得下载链接,所以使用我的 Angular 客户端将无法设置 img src 标签并显示图像

我一直在使用这个实现:

String url = client.sharing().createSharedLinkWithSettings("/" + clientId + "/logo." + fileName[1]).getUrl();

然而,顾名思义,我得到了一个共享链接,它基本上是一个带有图像的网页 我只需要图片 有可能吗?

【问题讨论】:

    标签: dropbox-api


    【解决方案1】:

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

    【讨论】:

    • 我不得不取消标记答案,因为如上所述它是一个临时链接,几个小时后我从 Dropbox 收到 410。我需要的是一个永久链接
    【解决方案2】:

    @Greg 给出的答案是正确的,但我需要一个永久链接,我可以从这里使用答案 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";
    

    【讨论】:

    • 请注意,根据the help article,最好完全解析 URL 以修改参数,而不是像这样只执行原始字符串修改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多