【问题标题】:Upload fails when user drags and drops attachment from email client当用户从电子邮件客户端拖放附件时上传失败
【发布时间】:2013-06-19 06:34:19
【问题描述】:

我正在使用 VALMS 文件上传器和 jQuery 在我的应用程序中实现拖放功能。在其中一位用户尝试以下操作之前,该功能运行顺利。

用户收到一封带有附件的电子邮件。他试图将附件直接从电子邮件客户端 (Outlook) 拖放到浏览器和放置区域中。上传失败。但是当他将文件保存到他的文件系统中,然后拖放文件时,上传成功。

谁能告诉我当用户直接从电子邮件中拖动附件时,后台会发生什么?它是否将文件保存在临时位置?如果是,那么为什么上传失败?

【问题讨论】:

    标签: jquery outlook valums-file-uploader


    【解决方案1】:

    大多数浏览器只期待实际的文件拖放格式 (CF_HDROP),但从 Outlook 中拖动时,文件系统上没有文件。你得到的是CF_FILEDESCRIPTORCF_FILECONTENTS 格式。我所知道的浏览器(甚至 IE)都不知道如何处理。

    【讨论】:

    【解决方案2】:

    我为您的拖放问题找到了一个免费的解决方案: https://tonyfederer.github.io/OutlookFileDrag/

    来自网站:

    当您尝试从 Outlook 拖放时,Outlook 会正确地将格式识别为虚拟文件 (CFSTR_FILEDESCRIPTORW),因为这些文件不直接存在于磁盘上。相反,它们包含在 PST 文件、OST 文件或 Exchange 服务器上。

    但是,许多应用程序不支持,例如网络浏览器和大多数 .NET/Java 应用程序。

    为解决此问题,Outlook File Drag 挂钩 Outlook 拖放过程并添加对物理文件 (CF_HDROP) 的支持。当应用程序请求物理文件时,这些文件会保存到一个临时文件夹中。

    我看了https://outlook2web.com/https://www.wilutions.info/ddaddin-download.html

    但是免费的很好用,而且是开源的!

    2020 年 6 月更新:Chrome 和 Edge 现在可以与最新的 Outlook 交互,但 FireFox 仍然有一个开放的票:https://bugzilla.mozilla.org/show_bug.cgi?id=580928

    【讨论】:

    【解决方案3】:

    FWIW 从客户端拖到浏览器现在可与 Microsoft Edge 和 Outlook 配合使用。

    使用 Outlook 2016 和 Edge 42.17134.1.0 测试

    【讨论】:

    • 确认。 Outlook 2010 和 Edge 44.17763.1.0
    猜你喜欢
    • 1970-01-01
    • 2012-07-07
    • 2013-03-03
    • 2019-01-22
    • 1970-01-01
    • 2015-09-02
    • 2012-11-18
    • 1970-01-01
    相关资源
    最近更新 更多