FileUpload コントロールを使用して、Windows サーバー上の物理パスにアップロードしたいと考えています。同じサーバーに 2 つの Web サイトがあり、一方のサイトから画像をアップロードして、もう一方の Web サイトの画像フォルダーに保存したいと考えています。
現在、仮想パスのみを受け入れるこのコードを使用しています
FileUpload1.SaveAs(Server.MapPath("~/images/") & filename)
FileUpload コントロールを使用して、Windows サーバー上の物理パスにアップロードしたいと考えています。同じサーバーに 2 つの Web サイトがあり、一方のサイトから画像をアップロードして、もう一方の Web サイトの画像フォルダーに保存したいと考えています。
現在、仮想パスのみを受け入れるこのコードを使用しています
FileUpload1.SaveAs(Server.MapPath("~/images/") & filename)
SaveAsメソッドは、サーバー上の任意のディレクトリへのフル パスを受け入れます。秘訣は、ASP.Net アプリケーションがそのディレクトリに書き込みアクセスできるようにすることです。通常、これを行うには、アプリケーション プール ID をネットワーク サービスに設定し、ネットワーク サービス ユーザーにファイルへの書き込みアクセスを許可します。
もう 1 つの考えられる考慮事項は、なりすましを使用しているかどうかです。その場合、偽装しているユーザーはディレクトリにアクセスする必要があります。たとえば、他のマシンのリソースにアクセスする必要があるため、すべての着信要求に対してドメイン サービス アカウントを偽装します。ASP.Net はそのユーザーとして操作を実行しているため、ディレクトリへのアクセスが必要なのはこのドメイン サービス アカウントです。