gpt4 book ai didi

Android DownloadManager 不保存文件

转载 作者:行者123 更新时间:2023-11-29 21:22:14 25 4
gpt4 key购买 nike

我在使用 Android 的 DownloadManager 和 WebView 时遇到问题。有几个链接可以返回为当前用户生成的文件(PDF 等)。这些链接仅适用于登录用户,因此我将身份验证 cookie 传递给 DownloadManager。我可以从服务器日志中看到它工作正常:所有对下载 URL 的点击都是通过应用程序 cookie 完成的,服务器正在接受它并为正确的用户生成正确的文件。然而,下载管理器中的所有条目都被列为不成功。

我想我在这里遗漏了一些微不足道的东西,但我刚开始使用 Android 并且没有看到它。

这是 MainActivity 的部分代码:

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new MyWebViewClient());
myWebView.setDownloadListener(new DownloadListener() {
public void onDownloadStart(String url,
String userAgent,
String contentDisposition,
String mimetype,
long contentLength) {
String cookie = CookieManager.getInstance().getCookie(url);
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Request request = new Request(Uri.parse(url));
request.addRequestHeader("Cookie", cookie);
dm.enqueue(request);
}
});

如何让下载管理器下载生成的文件?

最佳答案

在这方面做了更多工作后,我发现了问题:Android 的 DownloadManager 似乎需要响应中出现 Content-Length header ,而我没有为生成的文件发送这些 header 。

关于Android DownloadManager 不保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20597928/

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