0

web.configファイルの画像パスに次のキーがあります

<add key="ImagePath" value="\Images\"/>  

ライブサイトのこのフォルダに画像を保存したいのですが、画像がこのパスに保存されていないため、ドメイン名が来るかどうかにかかわらず、この値がここでどのように設定されますか?ローカルサイトでは正常に機能しますが、ライブサイトでは機能しません

4

2 に答える 2

0

これは権限の問題のようです。

IIS ワーカー プロセスが /Images/ フォルダーに書き込もうとすると、書き込み権限がないため書き込みできません。Visual Studio を介して Web サイトをローカルで実行すると、ワーカー プロセスにソリューション内の任意のフォルダーに対する完全な権限が与えられます。これが、サーバーではなくローカルで実行できる理由である可能性があります。

IIS ワーカー プロセス ユーザーに、/Images/ フォルダーへの読み取りアクセスと書き込みアクセスの両方を付与する必要があります。

ただし、IIS ワーカー プロセスのユーザーに読み取りと実行のアクセス許可を付与しないようにする必要があります。

于 2012-10-12T13:40:02.387 に答える
0

このキーがweb.configファイルにある場合

<appSettings>
  <add key="ImagePath" value="\Images\"/>
</appSettings>

次に、サーバー側のコードで、構成からイメージ パスを取得して、次のようにストレージの物理パスを取得できます。

var imagePath = ConfigurationManager.AppSettings["ImagePath"];
var physicalPath = Server.MapPath(imagePath);

if (File.Exists(physicalPath))
{
    //... store your images ...
}
于 2012-10-12T12:47:46.487 に答える