【问题标题】:converting image into byte[] asp.net mvc将图像转换为 byte[] asp.net mvc
【发布时间】:2018-10-19 07:24:07
【问题描述】:

我需要将图像存储在我的数据库中byte[]

我正在使用 ajax 将图像从 Javascript 发送到 mvc controller

在我的 javascript 中

var files = $("#MyImage").get(0).files;
formData.append('files', files);

在我的 MVC 控制器中

using (var binaryReader = new BinaryReader(Request.Files[0].InputStream))
{
        fileData = binaryReader.ReadBytes(Request.Files[0].ContentLength);
}

这是存储图像的正确方法还是我做错了?

请推荐

【问题讨论】:

  • 你能展示你如何将图像从视图传递到控制器的代码吗?
  • 使用这段代码,也许会有所帮助stackoverflow.com/a/3947318/6124847
  • 确定是否正确的简单方法:您是否在数据库中接收图像作为字节数组?好的。如果不。调试然后告诉我们问题出在哪里

标签: javascript asp.net-mvc binaryreader


【解决方案1】:

您可以在剃须刀上发布HttpPostedFileBase

if (upload != null)
{
    using (var inputStream = upload.InputStream)
    {
        var memoryStream = inputStream as MemoryStream;
        if (memoryStream == null)
        {
            memoryStream = new MemoryStream();
            inputStream.CopyTo(memoryStream);
        }
        var data = memoryStream.ToArray();
}

方法签名应该是这样的

[HttpPost]
public ActionResult Foo(HttpPostedFileBase upload)
{
}

还有你剃刀的一面:

@using (Html.BeginForm("Foo", "ControllerName", FormMethod.Post, new { @enctype = "multipart/form-data" }))
{

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-23
    • 2011-11-04
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    • 1970-01-01
    相关资源
    最近更新 更多