您好我现在可以使用此功能将图像保存到我的服务器:
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
使用上述格式时会显示图像。
答案 0 :(得分:1)
您可以用相对路径替换完整路径并将其插入src属性。
string s1 = @"D:\Projects\*************\****\img\logos\image1.png";
string s2 = "~/****/" + s1.Substring(s1.IndexOf("img")).Replace("\\", "/");
// use s2 as src attribute for img
答案 1 :(得分:0)
Server.MapPath("〜")返回应用程序根目录的物理路径
您是否尝试过只使用fullPath = Server.MapPath(Path.Combine(" / img / logos /",filename))
Server.MapPath(" /")返回域名根目录的物理路径(不一定与应用程序的根目录相同)
我认为" /"这会将您的图像放在IIS可以访问的文件夹中,而不是D:文件夹