如何给出服务器中文件夹的路径以保存图像

本文关键字:路径 保存 图像 文件夹 中文 服务器 | 更新日期: 2023-09-27 18:07:29

我试图将图像存储到两个应用程序中(都在服务器上发布)。这是我保存图像的代码:

 string path = Server.MapPath("/Images/Landing/bottom_banner/");           
 string path1 = @"_http://10.241.193.22/Myapplication/Images/Landing/bottom_banner/";
  HttpPostedFileBase photo = Request.Files["adup"];
            if (photo.ContentLength != 0)
            {
                string lastPart = photo.FileName.Split('''').Last();
                Random random = new Random();
                int rno = random.Next(0, 1000);
                photo.SaveAs(path + rno + lastPart);
                photo.SaveAs(path1 + rno + lastPart);
            }

注意:Myapplication是托管在同一服务器上的另一个应用程序

我的问题是我能够保存图像在我的第一个应用程序使用Server.MapPath,但当编译器来到部分photo.SaveAs(path1 + rno + lastPart)它给出了一个错误:

savea方法被配置为需要一个根路径,而路径'_http://10.241.193.22/Myapplication/Images/Landing/bottom_banner/676Chrysanthemum.jpg'不是根路径

请建议我如何消除这个问题?

如何给出服务器中文件夹的路径以保存图像

我不确定这是否正确,但你能这样做吗?

在当前应用程序存储服务器。MapPath值,然后将当前应用程序名称替换为"Myapplication",然后添加尾随路径。像这样

string path1 = Server.MapPath("");
path1.Replace("Application1", "Myapplication"); //Considering "Application1" is the name of your current application
path1 += "/Images/Landing/bottom_banner/";
HttpPostedFileBase photo = Request.Files["adup"];
        if (photo.ContentLength != 0)
        {
            string lastPart = photo.FileName.Split('''').Last();
            Random random = new Random();
            int rno = random.Next(0, 1000);
            photo.SaveAs(path1 + rno + lastPart);
        }

这个可能有权限问题。我还没有检查过。

您应该将图像POST到第二台服务器并在那里使用相同的方法(server . mappath)

无法在远程服务器上保存图像(或其他文件)。

如果你知道绝对路径(例如)'C:'Web'ApplicationOne…'image.png'和'C:'Web'ApplicationTwo…'image.png'你可以这样替换路径差异:

photo.SaveAs(path + rno + lastPart);
photo.SaveAs(path.Replace("ApplicationOne", "ApplicationTwo") + rno + lastPart);