открыть файл с помощью подходящей программы - PullRequest
0 голосов
/ 21 января 2011

Я хочу создать метод, который берет 2 параметра из БД

openFile(byte[] fileInfo,string extension)

тогда, когда я вызываю этот метод, он может выбрать подходящую программу и открыть ее

например, если я назову это

openfile(fileInfo,"docx")

автоматически выбирает слово для открытия байта [], а также для excel & acces и других расширений

Ответы [ 4 ]

3 голосов
/ 21 января 2011

Вам необходимо сначала сохранить файл на диске, а затем попытаться запустить его:

File.WriteAllBytes("foo.doc", fileInfo);
Process.Start("foo.doc");
1 голос
/ 21 января 2011

Вы можете заставить оболочку Windows открывать связанный редактор, запустив файл как процесс

Process.Start("example.txt");

Это откроет Блокнот, например, если это связанный редактор.

Вы можете передать ваш буфер fileInfo во временный файл с указанным расширением, а затем выполнить Process.Start (имя вашего файла здесь), чтобы запустить его.

0 голосов
/ 21 января 2011

Как уже говорили другие, используйте Process.Start (), и я всегда так делаю, чтобы показать диалог open With , как система всегда делает, когда файл не связан:

Try
{
  Process.Start(youfile);
}
Catch (Exception e)
{
  OpenWith(youfile)//you need to implement this by yourself
}

EG: Вызов диалогового окна Open With из вашего приложения с использованием C #

0 голосов
/ 21 января 2011

Вам необходимо:

  1. Сохранить файл с общим именем и заданным расширением.
  2. Вызов Метод Process.Start (String) , система разрешит ассоциацию.
...