Подтвердить что ты не робот

Загрузка не выполняется, когда пользователь перетаскивает и удаляет вложение с почтового клиента

Я использую valup fileuploader с помощью jQuery для реализации функций перетаскивания в моем приложении. Функциональность работала плавно, пока один из пользователей не попробовал следующее.

Пользователь получил электронное письмо с приложением. Он попытался перетащить приложение напрямую из почтового клиента (Outlook) в браузер и в область перетаскивания. Загрузка была неудачной. Но когда он сохранил файл в своей файловой системе, а затем перетащил файл, загрузка была успешной.

Может ли кто-нибудь сообщить мне, что происходит в фоновом режиме, когда пользователь перетаскивает приложение напрямую из электронной почты? Сохраняет ли файл в временном расположении? Если да, то почему загрузка не выполняется?

4b9b3361

Ответ 1

Все браузеры ожидают фактический формат перетаскивания файла (CF_HDROP), но при перетаскивании из Outlook в файловой системе нет файла. Вы получаете форматы CF_FILEDESCRIPTOR и CF_FILECONTENTS. Ни один браузер, о котором я знаю (даже не IE), знает, как с этим справиться.

Ответ 2

Я нашел бесплатное решение вашей проблемы перетаскивания: https://tonyfederer.github.io/OutlookFileDrag/

С веб-сайта:

При попытке перетаскивания из Outlook Outlook правильно определяет формат как виртуальные файлы (CFSTR_FILEDESCRIPTORW), поскольку файлы не существуют непосредственно на диске. Вместо этого они содержатся в PST файле, OST файле или на сервере Exchange.

Однако многие приложения не поддерживают, такие как веб-браузеры и большинство приложений .NET/Java.

Чтобы обойти эту проблему, перетаскивание файлов Outlook перехватывает процесс перетаскивания в Outlook и добавляет поддержку физических файлов (CF_HDROP). Когда приложение запрашивает физические файлы, они сохраняются во временную папку.

Я посмотрел на https://outlook2web.com/ и https://www.wilutions.info/ddaddin-download.html.

но бесплатный работает нормально, и это с открытым исходным кодом!

Ответ 3

Перетаскивание FWIW из клиента в браузер теперь работает с Microsoft Edge и Outlook.

Протестировано с Outlook 2016 и Edge 42.17134.1.0