android - 在 Android 上通过浏览器下载文件时避免内容类型问题

标签 android browser download content-type content-disposition

如果我有一个文件可以通过我的 web 应用程序提供给浏览器,我通常只需将 URL 设置为类似于 http://website.com/webapp/download/89347/image.jpg 的内容。 .然后我设置 HTTP header Content-Type: application/octet-stream; filename=image.jpgContent-Disposition: Attachment .

但是,在 Android 上。看来我可以下载文件的唯一方法是设置 Content-Type: image/jpg .否则文件名显示 <Unknown>一个错误来了

Download unsuccessful
Cannot download. The content is not supported on this phone

有什么方法可以让 Android 下载并通过浏览器打开文件而不保留 mime 类型列表?

最佳答案

要使任何下载都能按预期在所有(尤其是较旧的)Android 版本上运行,您需要...

  1. 将 ContentType 设置为 application/octet-stream
  2. 将 Content-Disposition 文件名值放在双引号中
  3. 以大写形式写入 Content-Disposition 文件扩展名

阅读我的博文了解更多详情:
http://digiblog.de/2011/04/19/android-and-the-download-file-headers/

关于android - 在 Android 上通过浏览器下载文件时避免内容类型问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4674737/

相关文章:

java - 按下按钮时退出 fragment 或 Activity

jquery - 从 Ajax 下载文件(某种意义上)

Ubuntu 下载一个包及其所有依赖项而不安装它们

java - 如何延迟 Activity 启动的计时器?

android - E/Push 示例 - PackageManager 未知 UALib : Required permission com. google.android.c2dm.permission.RECEIVE

java - 我得到了用户信息,如何从墙上获取用户帖子?

javascript - 如果存在 NoScript,如何检查 NoScript(浏览器插件)并在屏幕顶​​部包含栏?

java - 在 OATS Java(不是 javascript)中打开并最大化浏览器窗口

javascript - 当服务器需要访问套接字之类的东西时,browserify 怎么可能让服务器代码在浏览器中运行?

python - python 3.2 http.client.HTTPConnection 可以下载大文件吗?