4

これが直面している一般的な問題であることは知っていますが、別のシナリオでこの問題が発生しています。ここでシナリオを説明します

ソリューションで2つの異なるプロジェクトを作成しました。保存に使用したいフォルダを含む画像、つまりアップロードは上記のプロジェクトの外にありますが、同じソリューションの下にあります。実際、このフォルダのIISサーバー上に仮想を直接(マイファイルサーバー)作成しました

これが私のコードです。

private void SaveData()
        {


            string filename = Path.GetFileName(ImageUpload.PostedFile.FileName);
            string servpath = Server.MapPath(ConfigurationManager.AppSettings["TempFolder"]);
            ImageUpload.SaveAs(servpath + filename);
            string remoteServerPath = ConfigurationManager.AppSettings["ProductImagesPath"] + filename;
            try
            {

                WebClient client = new WebClient();

                client.UploadFile(remoteServerPath, servpath + filename);
            }
            catch (Exception ex)
            {
                throw ex;

            }
            objProductsCustom.ProductName = txtProductName.Text;
            objProductsCustom.ProductDiscription = txtAddDiscription.Text;
            objProductsCustom.ProductPrice = txtPrice.Text;
            objProductsCustom.Quantity = txtQuantity.Text;
            objProductsCustom.ImagePath = "servpath" + filename;
            int productID = objProductsManager.CreatProduct(objProductsCustom);

        }

try-catchで、「リモートサーバーがエラーを返しました:(405)メソッドが許可されました」を見つけました。エラー。ハマった。

編集 これはremoteserverpathです:

http://localhost/ProductImages/untitled.bmp

そしてこれは私がremoteserverpathにアップロードしているファイルです:

C:\Documents and Settings\saltaf\My Documents\Visual Studio 2010\Projects  \OnlineShoppingSystem\OnlineShoppingSiteAdminPanel\Temp\Images\untitled.bmp

そしてこれが私の呼びかけです:

 webclient.UploadFile(http://localhost/ProductImages/untitled.bmp,C:\Documents and  Settings\saltaf\My Documents\Visual Studio 2010\Projects\OnlineShoppingSystem\OnlineShoppingSiteAdminPanel\Temp\Images\untitled.bmp)
4

1 に答える 1

0

ファイルを保存するフォルダの権限を確認してみましたか? そこに「IIS_IUSRS」プロファイルが含まれているはずです(ターゲットフォルダーへの書き込み権限も必要です)。

お役に立てれば。

于 2012-10-29T03:06:27.033 に答える