2012-05-08 4 views
1

解決策に2つのMVC3プロジェクトがあります.1つはAdmin、もう1つは一般ユーザー向けです。 管理者はプロジェクト内のフォルダに画像を動的にアップロードします。 そのため、Userプロジェクトの画像を同じWebページに表示する必要があります。2つのMVCプロジェクト - 画像共有

私はまた、サービス、アプリケーションロジック、およびデータアクセスを表す3つのプロジェクトを持っています。 1画像をデータベースに格納し、サービスからUserプロジェクトに取得します。 2ユーザーMVCプロジェクトからイメージを参照します。 (Couldnt do it)

最高のものは何ですか? 最初の実装方法は?

ありがとうございます!

答えて

1

absolute urlすることにより、他のウェブサイトで画像を参照する必要があります。まず、次の2つのアプリケーションを持っていない理由があります許可されたユーザーのみの管理領域を持つ単一のアプリケーションですか?

イメージをデータベースに格納する場合、イメージをバイト配列に変換し、データベースにvarbinary(max)として格納できます。私はエリアについて読みますConvert a bitmap into a byte array

+0

これには1つまたは2つのプロジェクトがあることに制限はありません。 これは、プロジェクトを別のサーバーに展開できる場合にのみ作成しました。 私は実際に地域について知っていませんが、私はそれらについて読むでしょう – gonzalomelov

+0

私が示唆したように、私はたぶん1つのWebアプリケーションを使用し、MVC領域を使用して管理機能を分離することをお勧めします。ファイルではなくデータベースに保存することは、ファイルシステムに保存するのとは対照的に、まだ有効なステップです。どちらの方法でもうまくいくでしょう。 –

+0

私は参照してください。 私が実装している解決策は、テナントを知るために行う唯一のことはコントローラのサブドメインを取得し、そのテナント名のサービスから情報を取得することです。 MVCエリアとマルチテナントに問題はありますか? – gonzalomelov

0

私は、1つのプロジェクトにそれをマージし、ASP.NET MVCエリアを使用する必要があります。 「管理者」と呼ばれる領域を作成し、その中に管理者関連の情報を保存します。あなたの通常のユーザー関連のものをルートレベルに保ちます。あなたはすばらしいはずです。同じプロジェクトの場合と同じように、これら2つのイメージを共有することができます。

あなたが本当に別々のプロジェクトとしてそれを維持し、として別々のWebサイトを展開する場合は、画像

+0

この質問は、バイト配列にファイルストリームを(私はあなたがフォームを介して画像をアップロードしていると仮定)の変換の一例を示しています。 しかし、私はhttp://stackoverflow.com/questions/7584212/get-relative-path-to-image-in-another-project-in-same-solutionの投稿を読んだが、couldntはそれを動作させる。 ありがとう! – gonzalomelov

関連する問題