У меня на локальном компьютере работает приложение ASP.NET.Это приложение берет файл SVG и создает из него PNG, используя inkscape.Я попытался перенести это приложение на свой рабочий сервер.Как ни странно, создание png не работает.Действительно странная часть в том, что Exception
также не выбрасывается.Я взял параметры командной строки, которые создаются и копируются, вставил их в среду командной строки, и они работают.Например, вот строка:
inkscape.exe -f "C:\inetpub\wwwroot\MyTest\sample.svg" -e "C:\inetpub\wwwroot\MyTest\sample.png"
Я подумал, что это что-то простое, поэтому я извлек код в пример веб-проекта.Этот проект просто конвертирует .svg в .png.Еще раз, это работало в моей локальной среде, но не в производственной среде.Вот код:
protected void executeButton_Click(object sender, EventArgs e)
{
try
{
string sourceFile = Server.MapPath("svg") + "\\" + ConfigurationManager.AppSettings["sourceFile"];
string targetFile = Server.MapPath("png") + "\\" + ConfigurationManager.AppSettings["targetFile"];
string args = "-f \"" + sourceFile + "\" -e \"" + targetFile + "\" -w100 -h40";
string inkscape = ConfigurationManager.AppSettings["inkscapeExe"];
// Generate the png via inkscape
ProcessStartInfo inkscapeInfo = new ProcessStartInfo(inkscape, args);
Process inkscape = Process.Start(inkscapeInfo);
inkscape.WaitForExit(5000);
runLiteral.Text = "Success!<br />" + args;
}
catch (Exception ex)
{
runLiteral.Text = ex.GetType().FullName + "<br />" + ex.Message + "<br />" + ex.StackTrace;
}
}
Может кто-нибудь сказать мне, что я делаю неправильно?
Спасибо!