解决方案:C#使用Process.Start调用默认程序打开本地文件
使用Process.Start打开本地文件失败:
C# 全选
System.Diagnostics.Process.Start(file);
An error occurred trying to start process 'F:\Debug\net7.0-windows\temp_files\rptAR_Normal.frx' with working directory 'F:\Debug\net7.0-windows'. The specified executable is not a valid application for this OS platform.
解决方案
使用ProcessStartInfo打开文件,设置参数:
C# 全选
process.StartInfo.UseShellExecute = true;
参考代码
C# 全选
try
{
var dir = Path.Combine(Application.StartupPath, "temp_files");
var file = Path.Combine(dir, obj.FileName);
if (!Directory.Exists(dir)) Directory.CreateDirectory(dir);//创建临时目录
File.WriteAllBytes(file, obj.FileBody); //保存临时文件
if (File.Exists(file))
{
//打开文件
Process process = new Process();
ProcessStartInfo processStartInfo = new ProcessStartInfo(file);
process.StartInfo = processStartInfo;
process.StartInfo.UseShellExecute = true;
process.Start();
}
else
{
Msg.Warning("生成本地临时文件失败!");
}
}
catch (Exception ex)
{
Msg.Warning("请下载文件到文件夹,然后手动打开文件!\r\n" + ex.Message);
}
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网