我知道这是一个普遍面临的问题,但我遇到了一个不同的情况。
我将在此处解释场景。
我在一个解决方案中创建了两个不同的项目。我想用于保存即上传的图像包含文件夹位于这些项目之外,但在同一解决方案下。 实际上,我在该文件夹的 IIS 服务器上创建了虚拟目录(我的文件服务器)。
以下是我的代码。
我在一个解决方案中创建了两个不同的项目。我想用于保存即上传的图像包含文件夹位于这些项目之外,但在同一解决方案下。 实际上,我在该文件夹的 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)方法不允许"的错误。我被困住了。
编辑 这是远程服务器路径:
http://localhost/ProductImages/untitled.bmp
这是我要上传到远程服务器路径的文件:
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)
client.UploadFile
时,remoteServerPath
的值是什么?该URL上有哪些应用程序/网站/其他站点?我怀疑您正在尝试上传到不支持POST
的HTTP URL,但由于不清楚您的服务器是什么,很难确定。 - Dan Puzey