WPF и Mime типы - PullRequest
       19

WPF и Mime типы

0 голосов
/ 22 июня 2009

Речь идет о приложении WPF, которое генерирует отчеты.

Отчеты имеют простую структуру: byte [] m_Data, строка m_Mime.

Массив данных создан, тип mime установлен, теперь мне нужно отобразить диалоговое окно с той же функциональностью, что и в веб-браузерах - диалоговое окно «Открыть / Сохранить / Отменить», которое открывает файл в соответствующем приложении в зависимости от типа MIME ответа.

1 Ответ

1 голос
/ 22 июня 2009

WPF не имеет такого диалога, потому что это не веб-приложение, это приложение, работающее локально и использующее встроенные средства операционной системы, а не HTTP.

Должно быть легко написать саму запись диалога Open / Save / Cancel, чтобы реализовать открытую функциональность, вы должны сохранить файл на диск (возможно, во временный каталог, возвращаемый System.IO.Path.GetTempPath или к имени файла, возвращаемого System.IO.Path.GetTempFileName).

Убедитесь, что файл имеет правильное расширение, потому что Windows использует расширения файлов, а не типы MIME (потому что MIME-типы не существовали, когда они писали Windows).

Чтобы открыть только что созданный файл, используйте System.Diagnostic.Process.Start, например, он откроет файл MyPdfFile.pfd в программе чтения Acrobat, если он установлен (из текущего каталога, не забудьте указать полный путь в вашем коде):

System.Diagnostics.Process.Start("MyPdfFile.pdf");
...