将图像保存到服务器

本文关键字:服务器 保存 图像 | 更新日期: 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:文件夹