7

GoDaddyにWebサイトがあります。すべての権限が正しく設定されており、イメージは存在します。ただし、ページが読み込まれると、選択したアイテムの画像は表示されません。これが私のコードです

        imagepath = "~/spaimages/" + currentSpaModel.Name.ToString() + ".png";
        if (File.Exists(Server.MapPath(imagepath)))
        { this.spaimage.ImageUrl = Server.MapPath(imagepath); }

spaimageはASPコントロールであり、画像が設定されているURLはD:\ hosting \ xxxxxxx \ calspas \ spaimages\modelname.pngです。

私は何を間違っているのですか。

4

2 に答える 2

15

ファイルパスD:\hosting\xxxxxxx\calspas\spaimages\modelname.pngは、画像がWebサーバー上にあるフォルダーです。<img>これをタグの属性として送信しsrcます。これにより、ブラウザに「で画像を取得してD:\hosting\xxxxxxx\calspas\spaimages\modelname.pngください」と通知されます。ブラウザはWebサーバーのDドライブに移動できないため、ブラウザは自身のDドライブでそのフォルダと画像を探します。

つまり、<img>タグの属性をWebサイト上のsrcフォルダーへのパスにすることです。ちょうどそこにあります-プロパティに画像パスを割り当てるときにパーツをドロップするだけです。つまり、次の代わりに:Server.MapPathImageUrl

this.spaimage.ImageUrl = Server.MapPath(imagepath);

行う:

this.spaimage.ImageUrl = imagepath;

それが機能するかどうかを確認します。

ありがとう

于 2011-01-12T03:54:03.450 に答える
2

多くの場合、画像が「表示されない」場合(「壊れた画像」を表示するために赤x相当が表示されていると想定します)、壊れた画像を右クリックしてURLをコピーし、別のブラウザウィンドウでURLを開きます。 。

このように、画像がスクリプトによって生成されているときに、スクリプトに表示された可能性のあるエラーテキストが表示されます。そうでない場合は、実際の画像が表示されます。

さらに、elseブロックを追加します

if (File.Exists(Server.MapPath(imagepath)))

お気に入り

else 
{ 
    Response.Write(string.Format(
        "File does not exist at '{0}'.", 
        Server.MapPath(imagepath))); 
}

デバッグ用。

于 2011-01-12T03:48:55.627 に答える