我有一个MVC 5控制器和一个C#控制台应用程序,执行如下:
lp c:\excel.xls /xls
使用表格上传XLS文件后,我需要执行以下行:
[HttpPost, ValidateAntiForgeryToken]
public virtual JsonResult UploadXLS(HttpPostedFileBase XLSFile)
{
var uploadDir = Server.MapPath("~/App_Data/");
if (XLSFile != null)
{
var originalFileExtension = Path.GetExtension(XLSFile.FileName);
var fileName = Guid.NewGuid().ToString() + originalFileExtension;
var filePath = Path.Combine(uploadDir, fileName);
XLSFilePartners.SaveAs(filePath);
// EXECUTE THE CONSOLE PROJECT HERE
return Json("Uploaded!", "text/html");
}
return Json("No File!", "text/html");
}
要运行程序,可以使用Process.Start
。您将需要提供可执行文件的路径和参数:
Process.Start("lp.exe", "c:\\excel.xls /xls");
如果命令行参数包含空格(如文件路径),则需要将其用引号引起来(并使用引号将其转义,因为它是字符串)。像这样:
"\"c:\\path with spaces\\excel.xls\" /xls"
请注意,这只会启动该过程-它不会等到完成为止。如果需要,请查看Process.WaitForExit
。
有关更多信息,请参见MSDN页面。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句