我正在编写一些代码以将文件附件添加到我正在构建的应用程序中。
我已经添加和删除工作,但我不知道从哪里开始实现开放。
我有一个字节数组(来自表字段),但我不知道如何让它自动打开,例如
如果我有一个 PDF 字节数组,我如何让我的应用程序自动打开 Acrobat 或任何当前分配给扩展的应用程序使用 C#?
最佳答案
为了在任何外部应用程序中打开它,您需要将字节写入磁盘,然后使用 Process.Start 在临时文件上启动关联的应用程序。只需将临时文件名(带有适当的扩展名)作为 Process.Start 的唯一参数传递,它就会在适当的应用程序中打开该文件。
某些应用程序可能有办法提供字节流,但这需要由目标应用程序明确处理。
对于示例代码,您可以执行以下操作:
byte[] filedata = GetMyByteArray();
string extension = GetTheExtension(); // "pdf", etc
string filename =System.IO.Path.GetTempFileName() + "." + extension; // Makes something like "C:\Temp\blah.tmp.pdf"
File.WriteAllBytes(filename, filedata);
var process = Process.Start(filename);
// Clean up our temporary file...
process.Exited += (s,e) => System.IO.File.Delete(filename);
关于c# - 如何将字节数组转换回文件并使用 C# 自动打开它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2500969/