我正在尝试从ASP.NET运行exiftool.exe,对于我一生,我无法使其正常运行。 我正在尝试运行此代码

由于ASP.NET中的某些原因,它无法执行。 任何和所有帮助将不胜感激!

更新

这是我要运行的确切代码:

    ProcessStartInfo ExifTool = new ProcessStartInfo();
    Process process = new Process();

    ExifTool.FileName = @"C:\Windows\exiftool.exe";
    ExifTool.Arguments = "-b -previewimage " + " " + filepath;
    ExifTool.UseShellExecute = false;
    ExifTool.RedirectStandardOutput = true;
    ExifTool.CreateNoWindow = true;
    ExifTool.RedirectStandardError = true;
    ExifTool.LoadUserProfile = true;

    process.StartInfo = ExifTool;
    process.Start();

再次没有抛出任何错误,只是没有执行。 现在,如果我通过命令行而不是asp.net应用程序运行文件,则可以正常运行。

在此处输入图片说明

===============>>#1 票数:1

Dim ExifToolOutput As StreamReader = ExifTool.StandardOutput

附加了调试器,看看ExifToolOutput包含...,但是会抛出某种命令行错误。 错误的参数,路径或不会显示为.NET错误的内容。

更新

由于您也在使用C#,因此您可以尝试以下操作:

ProcessStartInfo startInfo = new ProcessStartInfo();
Process process = new Process();

startInfo.FileName = @"ping";
startInfo.Arguments =  "-n 1 google.com";
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
startInfo.CreateNoWindow = true;
startInfo.RedirectStandardError = true;
startInfo.LoadUserProfile = true;

process.StartInfo = startInfo;
process.Start();


var streamReader = process.StandardOutput as StreamReader;
var readToEnd = streamReader.ReadToEnd();
Console.WriteLine(readToEnd);

运行此命令时,我会将命令命令结果打印到控制台,您应该能够对变量执行相同的操作(通过调试),或者在应用程序中实现了某些登录功能。

然后,您应该能够看到发生了什么。

===============>>#2 票数:0

您的ASP.NET进程AppPool是否以本地进程的身份运行? 它需要执行其他文件的权限。

  ask by derral translate from so

未解决问题?本站智能推荐:

关注微信公众号