【发布时间】:2016-02-21 06:08:24
【问题描述】:
我正在关注 sample 以使用 WebImage。但是我在 vs 代码中使用的是 asp-net core mvc。
既然没有 System.Web.Helpers 我应该从哪里引用 WebImage?我试过搜索,aspnet mvc github wiki中没有解释。
【问题讨论】:
标签: c# razor asp.net-core-mvc
我正在关注 sample 以使用 WebImage。但是我在 vs 代码中使用的是 asp-net core mvc。
既然没有 System.Web.Helpers 我应该从哪里引用 WebImage?我试过搜索,aspnet mvc github wiki中没有解释。
【问题讨论】:
标签: c# razor asp.net-core-mvc
如果您想用更适合 asp.net 内核的替代品替换 WebImage,那么 IFormFile 是您的朋友。
如果参数名称与表单输入字段的名称匹配,您可以直接绑定到 IFormFile。或者,您可以使用以下内容。 (注意从 .net 框架迁移到核心时从 Request.Files 到 Request.Form.Files 的变化)
IFormFile inputFile = Request.Form.Files["uploadInputFieldName"];
您可能会发现需要引用 Length 而不是 ContentLength 属性。
当涉及到将文件保存到本地文件系统(如果这是您所追求的)时,请换掉 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
【讨论】:
上传网页图片
<input type="file" name="updoc" id="upoc" class="form-control" />
并通过在控制器中检索 在控制器中
HttpPostedFileBase casteCertificate = Request.Files["updoc"];
在您的 html 开始表单上添加多部分以从视图中检索流数据
@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的模型绑定
【讨论】: