我使用文件上传控件上传图片。 在iam检查条件,如果Image.Width> 250 || Image.Height> 400然后我正在调整图像大小。 但它给出了错误 “SaveAs方法配置为需要根路径,并且路径'ProductImages / roman_sandals.jpg'不是root。”
ProductImages是我保存图片的文件夹。 任何人都可以找到为什么这会给出错误,我的代码是
string strBigServerPath = AppHardcodeValue.productImgPath;
string strFileName = "";
if (prodImg.HasFile)
{
strFileName = prodImg.PostedFile.FileName;
string uniqueNum = Convert.ToString(System.Guid.NewGuid());
string shortFileName = System.IO.Path.GetFileName(strFileName);
string Extension = System.IO.Path.GetExtension(prodImg.FileName);
string newFileName = shortFileName;
prodImg.SaveAs(Server.MapPath(strBigServerPath + newFileName));
using (System.Drawing.Image Img =
System.Drawing.Image.FromFile(Server.MapPath(strBigServerPath) + newFileName))
{
if (Img.Width > 250 || Img.Height > 400)
{
Size MainSize = new Size(250, 400);
using (System.Drawing.Image ImgThnail =
new Bitmap(Img, MainSize.Width, MainSize.Height))
{
prodImg.SaveAs(strBigServerPath + newFileName);
}
}
Img.Dispose();
}
string ThumbnailPath = Server.MapPath(AppHardcodeValue.productThumbImgPath) + newFileName;
using (System.Drawing.Image Img =
System.Drawing.Image.FromFile(Server.MapPath(strBigServerPath) + newFileName))
{
Size ThumbNailSize = new Size(50, 50);
using (System.Drawing.Image ImgThnail =
new Bitmap(Img, ThumbNailSize.Width, ThumbNailSize.Height))
{
ImgThnail.Save(ThumbnailPath, Img.RawFormat);
ImgThnail.Dispose();
}
Img.Dispose();
}
}
答案 0 :(得分:0)
您可以使用
HostingEnvironment.ApplicationPhysicalPath
在这种情况下,并将其与您的图像路径组合。
例如:
Path.Combine(HostingEnvironment.ApplicationPhysicalPath, "ProductImages/roman_sandals.jpg");
将为您提供根路径。文件夹“ProductImages”必须位于应用程序目录中。