gpt4 book ai didi

c# - 使用来自 MVC 5 Controller 的参数执行控制台应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 21:22:40 24 4
gpt4 key购买 nike

我有一个 MVC 5 Controller 和一个像这样执行的 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 page .

关于c# - 使用来自 MVC 5 Controller 的参数执行控制台应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29688191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com