Что я хочу сделать
При нажатии на ссылку для загрузки файла в нашем веб-приложении браузер предложит пользователю save
или open
файл. При выборе open
файл откроется в установленном приложении.
Что у меня до сих пор
У меня есть приложение ASP.NET MVC, которое возвращает файл следующим образом:
return File(bytes, "application/octet-stream", "file.rod");
Я создал установщик ClickOnce с сопоставлением файлов для приложения и при запросе на save
файл отображается со значком зарегистрированного сопоставления файлов, и при двойном щелчке приложение запускается, как и ожидалось.
Однако, когда вы выбираете open
, приложение не запускается, что странно, потому что оно запускается правильно, когда файл открывается из файловой системы (explorer.exe). В настоящее время я думаю, что проблема заключается либо в том, как я настроил сопоставление файлов, либо в том, как я отправляю данные из браузера (возможно, типа контента?).
Вот регистрация ассоциации файла в файле манифеста:
<fileAssociation xmlns="urn:schemas-microsoft-com:clickonce.v1"
extension=".rod"
description="Lollipops and Ice Cream"
progid="Rod.Document"
defaultIcon="risque.ico" />
Что я пропустил? Что я должен попробовать дальше?
Еще одна вещь: я знаю, что можно передать параметры запроса установщику ClickOnce. Это то, что я тоже собираюсь попробовать.