我正在做一个项目,该项目使用英语和阿拉伯语两种语言。阿拉伯语版本位于子文件夹 (Ar) 中。
Visual Studio 本地主机中的两个版本一切正常。但是当我将网站部署到真实服务器时。我注意到阿拉伯语版本中的图像将获得与英文版本相同的路径(因此不会显示图像)。
我通过以下代码上传子文件夹中的图像:
string fileExt = System.IO.Path.GetExtension(fileBgUpload.FileName);
string filename;
string guid = Guid.NewGuid().ToString();
try
{
if (fileExt != "")
{
if (fileExt == ".jpg" || fileExt == ".jpeg" || fileExt == ".JPG" || fileExt == ".JPEG")
{
if (fileBgUpload.HasFile)
{
filename = Path.GetFileName(fileBgUpload.FileName);
fileBgUpload.SaveAs(Server.MapPath("/img/Gallery/") + filename + guid + ".jpg");
imgBackground.ImageUrl = ("/img/Gallery/") + filename + guid + ".jpg";
}
}
}
}
所以在数据库中,图像 url 将是
/img/Gallery/Imagename.jpg
在 Visual Studio 中,当我运行网站时,一切正常。图片网址是:
localhost:1020/Ar/img/Gallery/Imagename.jpg
服务器(主机)上的相同内容为图像提供以下 URL:
www.mydomain.com/img/Gallery/Imagename.jpg
这是我的问题,图像不会显示,因为它获取主文件夹的路径。
有任何想法吗?谁能告诉我我在做什么是正确的?以及为什么在这种情况下在视觉工作室中一切正常。