如何使用fileupload控件上传图像并将其保存在其他位置
本文关键字:保存 存在 位置 其他 图像 fileupload 何使用 控件 | 更新日期: 2023-09-27 18:19:51
我开发了一个mvc4剃须刀web应用程序,可以上传一个人的图像并将其保存在自定义的loaction(文件夹)中。
它有一个文件上传控件、一个文本框和一个按钮。当我使用文件上传控件上传图像时,我需要将其保存在自定义位置,如"D:/Employe/ContactImage",文件名应为文本框中键入的值。
这是视图中的代码
<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>
这是控制器类的代码
[HttpPost]
public ActionResult FileUpload(HttpPostedFileBase uploadFile, string imageName)
{
var j = new ImageJob(uploadFile, "~/Img/resize/" + imageName, new ResizeSettings(300, 300, FitMode.Stretch, "Jpeg"));
j.Build();
string imageUrl = PathUtils.GuessVirtualPath(j.FinalPath);
return Json(imageUrl, JsonRequestBehavior.AllowGet);
}
我在这里所需要做的就是将textbox的值作为文件名传递,并将图像保存在给定的位置。请帮我一下。。
我发现您的代码有问题,输入字段的NAME需要与控制器参数匹配。在您的情况下,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>
对于控制器,你可以通过发布的文件(它有一个属性)获得文件名
[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);
}