(2) если ТС хочет открыть файл(например, картинку) на просмотр, то можно создать временный файл и его открыть, а можно его сохранятьв выбранный каталог и уже оттуда открывать. разница есть.
если файл для чтения - то его тоже нужно сохранять, т.к. в базе он хранится в виде двоичных файлов. сохранили во временный каталог, прочитали, удалили
Открыть надо в стороннем приложении, раньше это была команда "ЗапуститьПриложение". Что использовать при асинхронных вызовах - не знаю.
Если НачатьПолучениеФайлаССервера с диалогом - файлы на диск не пишутся, но пользователям не нравится наличие диалога, лишние движения.
Посмотри как сделано в стандартной Присоединенные файлы
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший