将图像保存到服务器
本文关键字:服务器 保存 图像 | 更新日期: 2023-09-27 18:03:32
你好,我目前能够保存图像到我的服务器使用这个函数:
HttpPostedFile filePosted = CategoryImage.PostedFile;
string fullPath = "";
if (filePosted != null && filePosted.ContentLength > 0)
{
int contentLength = CategoryImage.PostedFile.ContentLength;
string contentType = CategoryImage.PostedFile.ContentType;
string filename = filePosted.FileName;
string fileextension = Path.GetExtension(filename);
fullPath = Server.MapPath(Path.Combine("~/img/logos/", filename));
if (fileextension == ".jpg" || fileextension == ".jpeg" || fileextension == ".png" || fileextension == ".bmp")
{
CategoryImage.PostedFile.SaveAs(fullPath);
}
}
但是我的数据库中的图像路径被保存为:
D:'Projects'*************'****'img'logos'image1.png
现在,当我将这个路径分配给html img "src"属性时,图像不显示。当我运行我的代码时,我没有得到错误,最好我希望路径是这样的:
~/******/img/image1.png
当我使用上面的格式时,图像显示
可以将完整路径替换为相对路径,并将其插入到src属性中。
string s1 = @"D:'Projects'*************'****'img'logos'image1.png";
string s2 = "~/****/" + s1.Substring(s1.IndexOf("img")).Replace("''", "/");
// use s2 as src attribute for img
Server.MapPath("~")返回到应用程序根的物理路径
您是否尝试过使用fullPath = Server.MapPath(Path. mappath)。结合("/img/商标/文件名))
Server.MapPath("/")返回到域名根的物理路径(不一定与应用程序的根相同)
我认为使用"/"将把您的图像放在IIS可以访问的文件夹中,而不是放在D:文件夹