Автор, если вы решили через FormData, то почему не выложили решение? Сэкономили бы кучу времени мне и другим джуниорам.
По вашему решению:
во вьюшке, js:
var fileE = document.getElementById("inputID");
fileE.onchange = function () {
var xhr = new XMLHttpRequest();
xhr.open("POST", "/Home/Index");
xhr.send(this.files[0]);
}
В контроллере:
[HttpPost]
public JsonResult Index(HttpPostedFileBase fileAvatar)
{
var ggg = Request.BinaryRead(Request.ContentLength);
// Запись на диск
System.IO.File.WriteAllBytes(@"C:\1.jpg", ggg);
// или в Bitmap
var originalImage = ConvertToBitmap(ggg);
var d = originalImage;
return null;
}
private static Bitmap ConvertToBitmap(byte[] imagesSource)
{
var imageConverter = new ImageConverter();
var image = (Image)imageConverter.ConvertFrom(imagesSource);
return new Bitmap(image);
}
Через FormData:
js:
var fileE = document.getElementById("inputID");
fileE.onchange = function () {
var xhr = XMLHttpRequest();
var data = new FormData;
data.append("image", this.files[0]);
xhr.open("POST", "/Home/Index");
xhr.send(data);
}
Контроллер:
[HttpPost]
public ActionResult Index(HttpPostedFileBase image)
{
var originalImage = new Bitmap(image.InputStream, false);
return null;
}