我正在使用网络扫描解决方案,我正在尝试将文件从aspx页面重定向到mvc控制器。扫描的图像使得aspx页面很好,但我无法弄清楚如何将文件送到MVC控制器。 这是我的代码:
HttpFileCollection files = HttpContext.Current.Request.Files;
HttpPostedFile uploadfile = files["RemoteFile"];string fileName = uploadfile.FileName;
string seqNum = HttpContext.Current.Request.Form["sequenceNum"];
string imageIndex = HttpContext.Current.Request.Form["imageIndex"];
string docId = HttpContext.Current.Request.Form["docId"];
string guid = HttpContext.Current.Request.Form["guid"];
string url = "/controller/action/" + guid + "?fileName=" + fileName + "&imageIndex=" + imageIndex + "&sequenceNum=" + seqNum + "&docId=" + docId;
我尝试将Response.Redirect与url中的文件一起使用,但它一直被删除。扫描文件并在客户端计算机上没有保存的路径(潜在的医疗记录+ HIPAA使其成为禁忌)。我错过了什么?
我尝试重新修改路线,现在scanner.aspx接管所有路由。这是路由方法:
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("", "scanner.aspx", "~/UtilityClasses/scanner.aspx");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{guid}",
defaults: new { controller = "Login", action = "Index", guid = UrlParameter.Optional }
);
}
这是经过更多努力后的最新更新。
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("", "scanner.aspx", "~/TextDocuments/GetScannedDocument");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{guid}",
defaults: new { controller = "Login", action = "Index", guid = UrlParameter.Optional }
);
}
控制器名称为TextDocumentsController,操作为GetScannedDocument
这件事正在成为一本书...我更好地了解了一些附加的例子,我让MapPageRoute工作。但我仍在查看我的scanner.aspx.cs页面,我不知道如何将HttpPostedFile发送到我的MVC控制器。
这是我现在坐的MapPageRoute。它仍然将我发送到aspx页面后面的代码而不是MVC控制器。我错过了什么?
routes.MapPageRoute("Scanner",
"TextDocuments/GetScannedDocument",
"~/UtilityClasses/scanner.aspx",
true, null,
new RouteValueDictionary { { "incoming", new MyCustomConstaint()} });
答案 0 :(得分:-1)
使用Server.MapPath
public ViewResult ShowForm()
{
//Logo
ViewBag.Img = Server.MapPath("~") + @"Content\Images\Logo.png";
return View("ShowForm");
}