これが直面している一般的な問題であることは知っていますが、別のシナリオでこの問題が発生しています。ここでシナリオを説明します
ソリューションで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)