在asp.net core razor mvc中使用WebImage

时间:2016-02-21 06:08:24

标签: c# razor asp.net-core-mvc

我正在关注此sample以使用WebImage。但是我在vs代码中使用了asp-net core mvc。

由于没有System.Web.Helpers,我应该从哪里引用WebImage?我试过搜索,在aspnet mvc github wiki中没有解释。

2 个答案:

答案 0 :(得分:0)

上传webimage

<input type="file" name="updoc" id="upoc" class="form-control" />

并通过在控制器中检索  在控制器

   HttpPostedFileBase casteCertificate = Request.Files["updoc"];

在html开始表单上添加multipart以从视图中检索流数据

 @using (Html.BeginForm("controller", "action", FormMethod.Post, new { enctype = "multipart/form-data", name = "myForm", id = "myForm" }))

将图像传递给视图

 ViewBag.pic = urlofwebimage;

视野

 <img id="Userpic" class="pull-right" style="margin-bottom: 7px" width="180" height="100" src="@ViewBag.pic" />

否则你也可以进行Image Url的模型绑定

答案 1 :(得分:0)

如果您希望将WebImage替换为更合适的asp.net core替代品,那么IFormFile是您的朋友。

如果参数名称与表单输入字段的名称匹配,则可以直接绑定到IFormFile。或者,您可以使用以下内容。 (请注意,从.net框架移至核心时,从Request.Files更改为Request.Form.Files)

IFormFile inputFile = Request.Form.Files["uploadInputFieldName"];

您可能会发现需要引用ContentLength而不是Length属性。

在将文件保存到本地文件系统时(如果您要这样做的话),请为此交换掉SaveAs方法调用:

using (var stream = new FileStream(filePathWithSecureName, FileMode.Create))
{
    await inputFile.CopyToAsync(stream);
}

有关核心文件上传的更多信息,包括安全性注意事项,此页面值得一读:https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-3.1