ASP.NETから別のWebアプリケーションにファイルをアップロードする方法

StackOverflow https://stackoverflow.com/questions/148322

  •  02-07-2019
  •  | 
  •  

質問

あるWebアプリケーションからファイルをアップロードし、別のWebアプリケーションで使用する必要があるシナリオがあります。私のセットアップは次のとおりです。

  • IISで2つのWebアプリケーションをホストする1つのサーバー-両方ともASP.NET
  • 一方のアプリケーションを使用してもう一方のアプリケーションを管理し、さらに多くのものを管理します
  • この管理アプリからファイルをアップロードし、DALを介してDBにパスを保存してから、ダウンロード用のファイルを提供する他のWebアプリからファイルにアクセスする必要があります
  • ファイルをディスクに保存します。DBのパスのみ

では、両方のWebアプリケーションからアクセスできるように、ファイルをどこでどのようにアップロードできますか?サービスを使用する必要がありますか、または他の方法がありますか?
ここに私が見つけたいくつかの関連する質問がありますが、それらは私の特定のシナリオをカバーするとは思わない:
専用画像サーバーへのファイルアップロードの処理方法
WCFサービスにファイルをアップロードする方法

役に立ちましたか?

解決

両方のアプリケーションが同じサーバー上にあるので、これは簡単なはずです:

  • アップロードしたファイルをどこかに保存します サーバー。
  • 任意の場所に仮想ディレクトリを作成します 公開する必要があるアプリケーション 物理パスを指すファイル。
  • 柔軟性のためにデータベースに仮想パスを保存します

他のヒント

各アプリケーションで、ファイルをアップロードするサーバー上の同じフォルダーを指す新しい仮想ディレクトリを設定できます。 c:ドライブに" uploads"という新しいフォルダーを作成したとしましょう。つまり、c:\ uploads。次に、IISで" uploads"という新しい仮想ディレクトリをセットアップします。各Webアプリケーションのc:\ uploadsを指します。これにより、両方のサイトがファイルにアクセスできるようになります。

DBにファイルを保存していない理由を尋ねられますか?これにより、簡単に渡すことができます。

DBに配置したファイルパスに管理者以外のWebアプリからアクセスできると仮定すると(このように聞こえます)、ファイルは両方のアプリケーションがアクセス権を持っている場所に移動する必要があります。管理アプリのみに書き込みアクセス権が必要です。

IIS Webサイトがどのユーザーアカウントを実行するかは、Webサイトのプロパティ>で設定できます。 IIS管理コンソールのディレクトリセキュリティ。次に、適切なディレクトリ権限を設定してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top