gpt4 book ai didi

android - 无法打开通过下载管理器 api 下载的文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:54:45 25 4
gpt4 key购买 nike

我在 android 中使用 DownloadManager API 成功下载了一个 pdf 文件。

list 权限设置正确。文件下载正确。

但是当它试图打开时它说“无法打开文件”。

请帮忙打开下载的文件。我想我没有为文件设置正确的名称和扩展名。如何设置?

private void DownloadBook(String url, String title){

DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
//request.setDescription("Some descrition");
String tempTitle = title.replace(" ","_");
request.setTitle(tempTitle);
// in order for this if to run, you must use the android 3.2 to compile your app
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
}
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, tempTitle+".pdf");

// get download service and enqueue file
DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
request.setMimeType(".pdf");
request.allowScanningByMediaScanner();
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE | DownloadManager.Request.NETWORK_WIFI);
manager.enqueue(request);
}

最佳答案

问题解决了。问题在于为下载的文件设置 MIME 类型。默认情况下,通过谷歌搜索,服务器将文件作为其内容类型发送为 application/x-download 而不是 application/pdf。所以在set mime type as pdf中。

我将此 request.setMimeType(".pdf"); 更改为 request.setMimeType("application/pdf");就是这样。

关于android - 无法打开通过下载管理器 api 下载的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24788594/

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