我需要将图像存储在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);
}
是存储图像的正确方法还是我做错了?
请提出建议
答案 0 :(得分:0)
您可以在剃刀上张贴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" }))
{
}