从MS Outlook实现拖放功能到我们的Web应用程序

时间:2013-09-04 23:03:55

标签: php javascript jquery html5 outlook

我们正在寻找有关从MS Outlook实施拖放功能到我们的Web应用程序(目前正在开发中)的一些开发指南/帮助。我们的最终目标是让我们的用户能够将Outlook实例中的电子邮件拖到我们在浏览器中运行的应用程序中。目前我们能够通过文件(例如来自用户的桌面)实现此功能,但不能直接从Outlook实现。

我们正在使用Visual Studio for PHP和SQL Server 2012后端开发我们的应用程序。

到目前为止我们的进展: •我们的页面上有一个HTML5控件,它接收javascript onDrop / OnDropStart / etc事件,并能够枚举和检索其中的内容,文件或其他内容; •从Outlook(在Outlook 2010中测试)中拖动电子邮件(或其他对象,如联系人)时,我们能够枚举纯文本数据,但不能枚举电子邮件的MIME内容(邮件或附件) •我们能够通过内容上的Ctrl + A枚举和检索电子邮件的纯文本和HTML内容,并将其拖入HTML控件。

我们需要帮助的地方是了解如何从浏览器有权访问的拖放事件中访问和检索电子邮件的完整MIME内容。我们知道Visual Studio的PIO包可以为本地.NET应用程序启用它,但是我们似乎无法将它用于Web应用程序。

由于产品处于早期开发阶段,我们愿意接受Microsoft的建议和指示,了解我们如何才能最好地实现这一目标,包括我们是否可以使用.NET或ASP控件来完成Web应用程序。

2 个答案:

答案 0 :(得分:4)

请参阅related SO post

理论上,您可以为IE创建一个浏览器帮助对象(dll)(可以为其他浏览器执行此操作,请参阅Google Gears ),在其上安装自己的拖放处理程序浏览器窗口并保存旧的IDropTarget对象。从Outlook拖动邮件时,您将获得CF_FILEDESCRIPTORCF_FILECONTENTS格式( IE不理解),创建临时文件,并传递假CF_HDROP IE知道如何处理)到浏览器提供的旧的drop处理程序。

我做了两次( FF 3.6和IE ),它似乎工作正常。

另请注意,Outlook不会保留在原始MIME源中。拖动时,您可以做的最好的方法是以MSG格式获取消息,然后可以使用扩展MAPI( C ++或Delphi )或直接COM API( MSG是OLE)读取该消息存储文件)。

答案 1 :(得分:0)

OMG我找到了一个免费的解决方案: https://tonyfederer.github.io/OutlookFileDrag/

我看了https://outlook2web.com/

https://www.wilutions.info/ddaddin-download.html

但免费的工作正常,它是开源的!呜啊!我真的需要它。