【问题标题】:Using WebImage in asp.net core razor mvc在 asp.net core razor mvc 中使用 WebImage
【发布时间】: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


    【解决方案1】:

    如果您想用更适合 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

    【讨论】:

      【解决方案2】:

      上传网页图片

      <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的模型绑定

      【讨论】:

      • 但是我可以在 aspnet core 中使用 WebImage 吗?
      • 最初,没有。它是 System.Web 的一部分。但是,您可以手动将 System.Web 添加到您的 asp.net 核心解决方案中,但我建议保留核心而不是 asp.net 4.6 dll。
      猜你喜欢
      • 2022-09-28
      • 2021-05-23
      • 2020-08-22
      • 1970-01-01
      • 2023-01-03
      • 2021-05-13
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多