C# 如何使用fileupload控件上载图像并将其保存到其他位置
我开发了一个mvc4 razor web应用程序,用于上传一个人的图像并将其保存在自定义loactionfolder中 它有一个文件上传控件、一个文本框和一个按钮。当我使用文件上载控件上载图像时,我需要将其保存在自定义位置,如D:/Employee/ContactImage,文件名应为文本框中键入的值 下面是视图中的代码C# 如何使用fileupload控件上载图像并将其保存到其他位置,c#,asp.net-mvc-4,file-upload,razor,image-upload,C#,Asp.net Mvc 4,File Upload,Razor,Image Upload,我开发了一个mvc4 razor web应用程序,用于上传一个人的图像并将其保存在自定义loactionfolder中 它有一个文件上传控件、一个文本框和一个按钮。当我使用文件上载控件上载图像时,我需要将其保存在自定义位置,如D:/Employee/ContactImage,文件名应为文本框中键入的值 下面是视图中的代码 <div id="partial"> @{Html.RenderPartial("WholeSaleUserDetail");}
<div id="partial">
@{Html.RenderPartial("WholeSaleUserDetail");}
@using (Html.BeginForm("FileUpload", "WholeSaleTrade", new RouteValueDictionary(new { @class = "mainForm" }), FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input name="uploadFile" type="file" id="fileUpload"/>
<input type="submit" value="Save Image" id="saveImage" />
<input type="text" id="imageName">
}
<div style="width: 200px; height: 200px;">
<img id="empimage" src="../../Images/no_image.jpg" alt="" /></div>
</div>
这里我需要做的就是将textbox的值作为文件名传递,并将图像保存在给定位置。
请在此帮助我。我发现您的代码有问题,输入字段的名称需要与控制器参数匹配。如果html输入没有名称,请尝试以下操作
<div id="partial">
@{Html.RenderPartial("WholeSaleUserDetail");}
@using (Html.BeginForm("FileUpload", "WholeSaleTrade", new RouteValueDictionary(new { @class = "mainForm" }), FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input name="uploadFile" type="file" id="fileUpload"/>
<input type="submit" value="Save Image" id="saveImage" />
<input type="text" id="imageName" name="uploadFile">
}
<div style="width: 200px; height: 200px;">
<img id="empimage" src="../../Images/no_image.jpg" alt="" /></div>
</div>
您遇到的问题是什么?主要问题是我无法将文本框值作为文件名传递给控制器。在控制器类中,应将文件名分配给参数名imageName您是否尝试将name=imageName添加到输入中?检查FormCollection以查看它是否已发回怎么样?
<div id="partial">
@{Html.RenderPartial("WholeSaleUserDetail");}
@using (Html.BeginForm("FileUpload", "WholeSaleTrade", new RouteValueDictionary(new { @class = "mainForm" }), FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input name="uploadFile" type="file" id="fileUpload"/>
<input type="submit" value="Save Image" id="saveImage" />
<input type="text" id="imageName" name="uploadFile">
}
<div style="width: 200px; height: 200px;">
<img id="empimage" src="../../Images/no_image.jpg" alt="" /></div>
</div>
[HttpPost]
public ActionResult FileUpload(HttpPostedFileBase uploadFile)
{
var j = new ImageJob(uploadFile, "~/Img/resize/" + uploadFile.FileName, new ResizeSettings(300, 300, FitMode.Stretch, "Jpeg"));
j.Build();
string imageUrl = PathUtils.GuessVirtualPath(j.FinalPath);
return Json(imageUrl, JsonRequestBehavior.AllowGet);
}