0

IIS マネージャーを使用して Web サイトをローカルにマウントしました。パスからサイトにアクセスでき、http://192.168.154.2/Default.aspxAffiche という名前のフォルダーがあり、いくつかの画像が含まれており、同じネットワークからのリモート サーバーに配置されています。

画像にアクセスするには、次のように動作する aspx ページ GetImage.aspx を使用しています。

 var path = "//192.168.84.52/Distri/Affiche/10038P.jpg"

    if ((string.IsNullOrEmpty(imageName) == false))
    {

        try
        {
            // Retrieving the image
            System.Drawing.Image fullSizeImg;
            fullSizeImg = System.Drawing.Image.FromFile(path);
            // Writing the image directly to the output stream
            fullSizeImg.Save(Response.OutputStream, ImageFormat.Jpeg);
            // Cleaning up the image
            fullSizeImg.Dispose();
        }

        catch (System.IO.FileNotFoundException)
        {
            //MessageBox.Show("There was an error opening the bitmap." +
            //    "Please check the path.");
        }
    }

このソリューションは、ローカルホスト (Visual Studio を使用) で正常に機能します。このようなリンクを使用して画像を完全に取得できますが、http://localhost:3606/GetImage.aspx機能http://192.168.154.2/GetImage.aspxしません。壊れた画像アイコンのみが表示されます。

リモートには、Web サーバーをインストールしたコンピューター (既にログインを入力している) からアクセスできます。

このソリューションを使用して別のソリューションを試しました:仮想ディレクトリ

IIS マネージャーからリモート サーバーのファイルを完全に表示できますが、仮想フォルダーにアクセスしようとすると、次のようになります。http://192.168.154.2/afficheImage/20772G.jpg

権限が不十分なため、500.19 エラーが発生しました。

これを解決する方法はありますか?

4

2 に答える 2

0

コードの最初の行:

var path = "//192.168.84.52/Distri/Affiche/10038P.jpg"

これは、仮想ディレクトリを持つ Web サイトとは異なる IP アドレスを指しています。「192.168.154.2」。別のサーバーから画像にアクセスしていますか? その場合、別のサーバーの権限も確認する必要があります。

于 2013-08-26T06:06:53.127 に答える
0

パスには以下のコード行を使用してください

var path = @"\\192.168.84.52\Distri\Affiche\10038P.jpg"

これは正しい表記ですが、無効なスラッシュを指定しました。

于 2013-12-10T09:12:22.163 に答える