View
@{
ViewBag.Title = "Index";
}
@using (Html.BeginForm("Post", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<table align="center">
<tr><td><input type="file" id="file" name="file" /></td></tr>
<tr><td><input type="submit" value="Upload" /></td></tr>
</table>
}
Controller
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication13.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Post(HttpPostedFileBase file)
{
if (file != null)
{
string pic = System.IO.Path.GetFileName(file.FileName);
string path = System.IO.Path.Combine(Server.MapPath("~/Image"), pic);
string targetPath = Server.MapPath("~/Image/" +"small"+ pic);
Stream strm = file.InputStream;
var targetFile = targetPath;
ConvertToSmallImage(0.05, strm, targetFile);
file.SaveAs(path);
}
return RedirectToAction("Index");
}
private void ConvertToSmallImage(double scaleFactor, Stream sourcePath, string targetPath)
{
var image = System.Drawing.Image.FromStream(sourcePath);
var newWidth = (int)(image.Width * scaleFactor);
var newHeight = (int)(image.Height * scaleFactor);
var thumbnailImg = new Bitmap(newWidth, newHeight);
var thumbGraph = Graphics.FromImage(thumbnailImg);
thumbGraph.CompositingQuality = CompositingQuality.HighQuality;
thumbGraph.SmoothingMode = SmoothingMode.HighQuality;
thumbGraph.InterpolationMode = InterpolationMode.HighQualityBicubic;
var imageRectangle = new Rectangle(0, 0, newWidth, newHeight);
thumbGraph.DrawImage(image, imageRectangle);
thumbnailImg.Save(targetPath, image.RawFormat);
}
}
}
@{
ViewBag.Title = "Index";
}
@using (Html.BeginForm("Post", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<table align="center">
<tr><td><input type="file" id="file" name="file" /></td></tr>
<tr><td><input type="submit" value="Upload" /></td></tr>
</table>
}
Controller
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication13.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Post(HttpPostedFileBase file)
{
if (file != null)
{
string pic = System.IO.Path.GetFileName(file.FileName);
string path = System.IO.Path.Combine(Server.MapPath("~/Image"), pic);
string targetPath = Server.MapPath("~/Image/" +"small"+ pic);
Stream strm = file.InputStream;
var targetFile = targetPath;
ConvertToSmallImage(0.05, strm, targetFile);
file.SaveAs(path);
}
return RedirectToAction("Index");
}
private void ConvertToSmallImage(double scaleFactor, Stream sourcePath, string targetPath)
{
var image = System.Drawing.Image.FromStream(sourcePath);
var newWidth = (int)(image.Width * scaleFactor);
var newHeight = (int)(image.Height * scaleFactor);
var thumbnailImg = new Bitmap(newWidth, newHeight);
var thumbGraph = Graphics.FromImage(thumbnailImg);
thumbGraph.CompositingQuality = CompositingQuality.HighQuality;
thumbGraph.SmoothingMode = SmoothingMode.HighQuality;
thumbGraph.InterpolationMode = InterpolationMode.HighQualityBicubic;
var imageRectangle = new Rectangle(0, 0, newWidth, newHeight);
thumbGraph.DrawImage(image, imageRectangle);
thumbnailImg.Save(targetPath, image.RawFormat);
}
}
}
No comments:
Post a Comment