我们正在寻求一些开发指南/协助,以实现从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的建议和指导,包括是否可以使用针对Web应用程序的.NET或ASP控件来完成此工作.
解决方法:
从理论上讲,您可以为IE创建一个浏览器帮助程序对象(dll)(对于其他浏览器可以做到这一点,请参阅Google Gears),该对象将在浏览器窗口中安装自己的拖放处理程序并保存旧的IDropTarget对象.从Outlook拖动邮件时,您将获得CF_FILEDESCRIPTOR和CF_FILECONTENTS格式(IE无法理解),创建临时文件,并将假CF_HDROP(IE知道如何处理)传递给浏览器提供的旧的丢弃处理程序.
我做了两次(FF 3.6和IE),它看起来还不错.
还请记住,Outlook不会保留在原始MIME源中.拖动时,最好的办法是以MSG格式获取消息,然后可以使用扩展MAPI(C或Delphi)或直接COM API(MSG是OLE存储文件)进行读取.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。