私は、英語とアラビア語の 2 つの言語のプロジェクトに取り組んでいます。アラビア語版はサブフォルダー (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 で Web サイトを実行すると、すべて正常に動作します。画像の URL は次のとおりです。
localhost:1020/Ar/img/Gallery/Imagename.jpg
サーバー (ホスト) で同じことを行うと、次の URL が画像に表示されます。
www.mydomain.com/img/Gallery/Imagename.jpg
これは私の問題です。メインフォルダーのパスを取得するため、画像は表示されません。
何か案は?私がしていることは正しいと誰かに教えてもらえますか?この場合、ビジュアルスタジオですべてが正常に機能するのはなぜですか。