用合适的程序打开文件

时间:2011-01-21 16:39:58

标签: c# file bytearray

我想创建方法,从DB

获取2个参数
openFile(byte[] fileInfo,string extension)

然后当我调用这个方法时,它可以选择合适的程序打开它

例如,如果我将其称为

openfile(fileInfo,"docx")

它会自动选择word来打开byte [],它也可以用于excel&访问&其他扩展

4 个答案:

答案 0 :(得分:3)

您需要先将文件保存在磁盘上,然后尝试运行它:

File.WriteAllBytes("foo.doc", fileInfo);
Process.Start("foo.doc");

答案 1 :(得分:1)

您可以通过将文件作为进程启动来获取Windows shell以打开关联的编辑器

Process.Start("example.txt");

这将打开记事本,例如,如果那是关联的编辑器。

您可以将fileInfo缓冲区流式传输到指定扩展名的临时文件中,然后执行Process.Start(yourfilenamehere)来启动它。

答案 2 :(得分:0)

你需要:

  1. 使用通用名称保存文件并设置扩展名。
  2. 致电Process.Start Method (String),系统将解决关联。

答案 3 :(得分:0)

正如其他人已经说过的那样,使用Process.Start()并且我总是这样做以显示打开对话框,因为系统在文件没有关联时总是这样做:

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

EG:Calling the Open With dialog box from your application, using C#