我有一个内置WebView的Android应用。我需要能够从WebView中下载带有原始名称的文件(由服务器发送)。
问题是下载链接如下:
http://address/path/controller.php?action=userOpenFileExe&documentId=1036826
因此,在下载开始之前,文件的名称及其类型是未知的。
[编辑:]此外,只有在登录后才能访问URL(因此在HTTP会话中)
我现在看到的所有示例都使用DownloadManager,如:
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName);
但我事先不知道fileName(可以是contract.pdf,picture.jpg等),因为它只是由服务器大小设置:
内容 - 处置:附件;文件名= picture23.jpg
注意:尝试使用以下方法查找文件名:
URLUtil.guessFileName(...)
确实触发了对服务器的额外请求,因此我将获得两次相同的下载链接(一个用于猜测名称,另一个用于实际下载)