2012-01-18 12 views
0

私は2つのサイト、1つのサブドメインを持つ状況にあります。あるサイトが画像をフォルダにアップロードし、その画像への参照を別のサイトからアクセス可能なデータベースに保存します。asp.net mvc:ドメイン間でイメージファイルを共有する方法

私ができる必要があることは、両方のサイトの画像にアクセスすることです。

私は、両方のサイトからアクセスできる、パブリックHTMLフォルダの外にあるフォルダにファイルを保存することを検討しましたが、完全なサーバーパスを示す厄介なsrc属性を使用せずにこれらのイメージを参照する方法がわかりません。あなたの意見で

public ActionResult Image(int id) 
{ 
    var image = ... go and fetch the image information from the database (you will need the path to the image on the server and the content type) 
    string path = image.Path; // could be any absolute path anywhere on your server, for example c:\foo\bar.jpg 
    string contentType = image.ContentType; // for example image/jpg 
    return File(path, contentType); 
} 

、その後:

おかげ

答えて

2

あなたはそれらを提供しますコントローラのアクションを書くことができ

<img src="/SomeController/Image/123" alt="" /> 
:としてレンダリングされます

<img src="@Url.Action("Image", "SomeController", new { id = 123 })" alt="" /> 

ここで、123は明らかにデータベース内のイメージレコードのユニークな識別子です。

また、IISでアプリケーションが実行されているアカウントに必要な権限を、画像を保存しているフォルダに付与していることを確認してください。そうしないと、このフォルダが外部にある場合は読み取りできません。アプリケーションルート。

+0

素敵な、それをやろう! – Sergio

関連する問題