1

C#からconvert.exeトラフプロセスクラスを呼び出して、特定の画像を次のような別の形式に変換しようとしています。

File.WriteAllBytes(inputFilePath, Convert.FromBase64String(image.Content));
Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Error(new Exception("Succesfully wrote the image to: " + inputFilePath)));

var proc = new Process();
proc.StartInfo.Arguments = string.Format("{0} {1}", inputFilePath, outputFilePath);

proc.StartInfo.FileName = @"c:\Program Files (x86)\ImageMagick-6.7.7-Q16\convert.exe";
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.UseShellExecute = false;
proc.Start();
proc.WaitForExit();

コマンドプロンプトを開いてすぐにシャットダウンする理由がわかりません...コードにエラーがありますか?convert.exeへのパスは確かに問題ありません...

4

2 に答える 2

4

WebアプリケーションはIISユーザーのコンテキストで実行されているため、convert.exeを実行するためのアクセス権がない可能性があります。特定のユーザー(convert.exeが機能する場合はあなたのような)でIISを実行するか、何らかの方法でアクセスを許可してconvert.exeを実行させることができます。

于 2012-06-08T19:33:56.333 に答える
2

ストリームをProcessオブジェクトにアタッチして、出力をキャプチャできます。

msdnドキュメントを参照してください

于 2012-06-08T19:30:58.533 に答える