代码之家  ›  专栏  ›  技术社区  ›  Sorin Comanescu

黑莓:Office附件可以通过电子邮件打开,但不能通过浏览器打开。

  •  0
  • Sorin Comanescu  · 技术社区  · 17 年前

    我们有一个Web应用程序(ASP.NET),它在某些页面中显示指向其他Office文档的链接。

    链接不是指向Web文件,而是指向从网络文件夹动态加载内容的网页,然后通过适当设置mime类型将其发送到浏览器。

    当使用桌面浏览器进行测试时,一切都可以正常工作(也就是说,浏览器建议使用正确的应用程序打开文件,并且文件已成功打开)。

    使用BlackBerry(Bold 9000)进行测试时,内置浏览器会发出一条错误消息,说明无法显示所选项目(Excel文档)。

    奇怪的是,附在邮件上的Excel文件可以在同一个设备上打开(我想是通过文档打开的)。

    有人知道为什么Excel附件可以作为电子邮件附件打开,但从Web下载时不能打开?这可能是由不正确的mime类型设置引起的吗?

    请注意,黑莓测试是由(远程)用户完成的,因为用于开发的bb有一个较旧的OS(4.3),它无论如何都不支持Office文件。我无法用4.5+bb进行实际测试。

    这是代码(摘录,F是文件信息):

    Response.Clear();
    Response.ClearHeaders();
    Response.ClearContent();
    Response.AddHeader("Content-Length", f.Length.ToString());
    Response.ContentType = "application/excel" // for xls files
    Response.AddHeader("Content-Disposition", "inline; filename=" + f.Name);
    Response.WriteFile(f.FullName);
    Response.Flush();
    Response.Close();
    Response.End();
    

    我将尝试不同的mime类型,如文档所示 filext.com 但是,由于物理设备不可用,这需要一段时间,如果有人有线索,我会很高兴听到。如果我找到解决办法,我会把这个贴出来的。

    谢谢。

    2 回复  |  直到 17 年前
        1
  •  0
  •   Maksym Gontar    17 年前

    在RIM上,他们说 you should use BES to view PDF, DOC etc
    我测试过:ASP.NET站点 简单链接 到Doc文件+MDS模拟器+9350设备模拟器。结果与论坛主题相同:

    插座通道无法连接; 地址127.0.0.1:1900

    不幸的是,无法在BES上测试它,但您应该尝试一下。

    我的观点是BES允许使用简单链接打开docstogo查看Office文件。

        2
  •  0
  •   Sorin Comanescu    17 年前

    实际上,我有点被用户的反馈误导了:在进一步调查这个问题之后,发现只有Excel文件无法打开,而不是所有的Office文件。

    在将mime类型从“application/excel”更改为“application/**vnd.ms-**excel”之后,它工作得很好。