【问题标题】:Force download of file in TideSDK在 TideSDK 中强制下载文件
【发布时间】:2013-01-16 12:24:13
【问题描述】:

我正在制作一个基于 html 的 CD 自动运行,我打算将它与 TideSDK 一起打包。一切正常,我面临的唯一问题是当有人点击文件下载链接(pdf、zip 等)时 所有文件都在应用程序窗口中打开,由于 webkit 引擎不理解文件类型(例如 zip 文件),它会显示奇怪的字符而不是下载文件。

所以我想知道我应该如何强制下载文件,以便用户可以将其保存在他的系统中或使用关联的应用程序打开它。

我正在为基于 Windows 的系统制作应用程序。

提前感谢所有抽出时间回复的人:)

【问题讨论】:

  • 您好,我有同样的问题(我需要用户能够打开下载的 PDF、Powerpoint、.. 文件)并且想知道您是否找到了解决问题的方法。如果是这样,您能否解释一下您是如何做到的并提供文档链接?
  • 嘿,我无法让它工作。我时间紧迫,所以我创建了一个 VB6 winform 应用程序并使用了 Web 浏览器控件。

标签: javascript html tidesdk


【解决方案1】:

我们使用Ti.Platform.openApplication() 方法通过外部应用程序打开文件,我不知道它是否正是您需要的,但您可以尝试一下。这是官方文档:http://tidesdk.multipart.net/docs/user-dev/generated/#!/api/Ti.Platform-method-openApplication

我们是这样使用它的:

path = Ti.Filesystem.getFile(Ti.Filesystem.getApplicationDataDirectory().nativePath(), 'contents', @get('pdf_path'))
Ti.Platform.openApplication(path.nativePath())

使用外部应用程序打开 pdf 文档。

【讨论】:

  • 嘿,垫子,我试过这个方法但它没有做任何事情,当我打开控制台时它显示错误“openApplication failed: access denied”。我想这是我正在寻找的方法,你能帮忙解决这个错误吗?非常感谢您的回复。
【解决方案2】:

mimetype 必须更改为“application/octet-stream”,这在普通服务器上很容易做到。但是,据我所知,没有办法轻松地将 mimetypes 添加到 TideSDK。我还没有对此进行测试,但可以在潮汐中使用 PHP 之类的东西并从 PHP 设置 mime 类型。 See this post for reference。希望这会有所帮助。

【讨论】:

  • 嘿,谢谢伙计,我会检查并更新它的工作原理。
猜你喜欢
  • 2014-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多