我们有一个基于java的应用程序,它可以生成docx文件并将内容推送到浏览器
我们在应用程序中生成 docx 输出,并将 docx 文件的字节数据发送到浏览器窗口。
我们将响应中的内容类型 header 设置为“application/vnd.openxmlformats-officedocument.wordprocessingml.document”
在普通笔记本电脑或 PC 上,所有浏览器都可以正确打开文件(Chrome、IE、Firefox、Safari for Windows)。 但在 iPad 上,chrome 和 Safari 都不会显示该文件,也不会提供下载该文件的选项。它显示空白屏幕。
有没有人见过这个问题以及可能的解决方案
最佳答案
自从我使用 iOS 以来已经有一段时间了,所以我的答案可能已经过时了,但这里是......
据我所知,您的问题可能是 application/vnd.openxmlformats-officedocumrent.wordprocessingml.document
不是 supported on Apple platforms by default 。除非您的应用程序具有 associated itself对于这种 mime 类型,您可能根本无法在 iPad 上打开它。你说它在笔记本电脑/个人电脑上运行良好,但这包括苹果笔记本电脑/台式机吗? I suspect it won't work there either 。如果您在 Mac 上成功打开它,那么您可能安装了一个程序(在基本操作系统之外)来处理该类型并已在操作系统中注册。
我的 iPad/iPhone 已经很老了,而且我已经有一段时间没有为 iOS 开发了,但是除非他们在新版本中添加了一些东西,否则没有通用的“保存到磁盘”功能。您要么有一个可以处理它的应用程序,要么无法浏览它。
但是,鉴于您正在处理 MS 格式的世界,并且很多人在提供这些格式时搞砸了这些格式的 mime 类型,在您放弃之前我会尝试的一件事是使用错误的 mime/类型(应用程序/msword)。旧 mime 类型的现有处理程序完全有可能已更新,以处理错误提供的较新版本的文档(这样做可能是为了避免有时出现不良的用户体验,而无需正式 promise 完全支持新类型)。网络(尤其是网络浏览器)充满了“化妆代码”
如果有效,它可能不可靠,如果您仍然想支持苹果平台,那么最好选择具有良好苹果支持的辅助格式,例如 pdf 或较旧的格式.doc 格式。当您检测到 iPad 或其他 Apple 设备时,您可以改为提供该服务。或者,您可以告知您的用户,他们需要使用第 3 方应用程序才能使用 Mac/iPad。
关于java - 在浏览器中打开 iPad 中的 docx 文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11996291/