我通过上传获得图片,我想将其转换为图像文件而不保存它
我该怎么办?
public HttpPostedFileBase BasicPicture { get; set; }
var fileName = Path.GetFileName(BasicPicture.FileName);
// store the file inside ~/App_Data/uploads folder
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
BasicPicture.SaveAs(path);
通过此代码,我可以将图片保存在服务器上,但我想将其转换为图像 像
Image img=(Image) BasicPicture;
但它不起作用。
答案 0 :(得分:1)
您可以使用FromStream
方法:
using (Image img = Image.FromStream(BasicPicture.InputStream))
{
... do something with the image here
}
答案 1 :(得分:1)
您还可以将 HttpPostedFileBase 转换为 WebImage (这会为您提供更多类似API的方法调整大小):
public ActionResult SaveUploadedImage(HttpPostedFileBase file)
{
if(file != null)
{
var image = new System.Web.Helpers.WebImage(file.InputStream);
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), file.FileName);
image.Save(path);
}
return View();
}
答案 2 :(得分:0)
不知道你在做什么以及为什么我能给出一个完整的智能答案。
我个人会用这样的东西来打开图像。您已将图像保存到服务器,因此不是为什么不新建新图像?最终的结果是一样的!
WebImage webImage = new WebImage(path);