gpt4 book ai didi

Android - 检测 URL mime 类型?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:14:47 27 4
gpt4 key购买 nike

在我的 Android 应用程序中,我有从数据库访问的各种 URL,然后打开 WebView 以显示该 URL。通常 url 看起来像这样:

http://www.mysite.com/referral.php?id=12345

这些推荐链接总是重定向/转发到另一个 url。有时生成的 url 直接指向图像。有时它是PDF。有时它只是另一个 HTML 页面。

无论如何,我需要能够区分这些不同类型的页面。例如,如果生成的 URL 链接到一个 PDF 文件,我想使用 Google Docs Viewer 技巧来显示它。如果它只是一个纯 HTML 页面,我只想显示它;如果它是一张图片,我计划下载图片并以某种方式在我的应用程序中显示它。

我认为解决此问题的最佳方法是确定生成的 url 的 mime 类型。你怎么做到这一点?有没有更好的方法来完成我想要的?

最佳答案

你可以通过以下方式找出是什么mime类型的内容:

webView.setDownloadListener(new DownloadListener() {
@Override
public void onDownloadStart(String url, String userAgent,
String contentDisposition, String mimetype,
long contentLength) {

//here you getting the String mimetype
//and you can do with it whatever you want
}
});

在这种方法中,您可以检查 mimetype 是否为 pdf,并使用修改后的 url 在 WebView 中通过 Google Docs 显示它:

String pdfPrefixUrl = "https://docs.google.com/gview?embedded=true&url="

if ("application/pdf".equals(mimetype)) {
String newUrl = pdfPrefixUrl + url;
webView.loadUrl(newUrl);
}

希望对您有所帮助!

关于Android - 检测 URL mime 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7664315/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com