我正在尝试上传图片,当我尝试使用image.Save()时,我收到了“通用GDI +”错误。任何帮助都会很棒。
// This action handles the form POST and the upload
[HttpPost]
public ActionResult Index(HttpPostedFileBase file, string filename)
{
// Verify that the user selected a file
if (file != null && file.ContentLength > 0)
{
string location = "~/Content/Images/Specials/" + "rttest" + ".jpg";
Bitmap bitmap = new Bitmap(file.InputStream);
Image image = (Image)bitmap;
image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
image.Save(location);
}
// redirect back to the index action to show the form once again
return RedirectToAction("Index");
}
答案 0 :(得分:0)
GDI +无法访问“〜/ Content / Images / Specials / ...”的位置,因为它不是物理路径。您需要使用Server.MapPath()
将虚拟路径映射到物理路径。
string location = Server.MapPath("~/Content/Images/Specials/" + "rttest" + ".jpg");
另外,你连接路径的一部分然后“rrest”然后“.jpg”是奇怪的。可能希望在投入生产之前对其进行调查,这样您就不会一遍又一遍地覆盖图像。