我想创建方法,从DB
获取2个参数openFile(byte[] fileInfo,string extension)
然后当我调用这个方法时,它可以选择合适的程序打开它
例如,如果我将其称为
openfile(fileInfo,"docx")
它会自动选择word来打开byte [],它也可以用于excel&访问&其他扩展
答案 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)
你需要:
答案 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#