Доброго времени суток.
Пытаюсь переслать файл на сайт:
private void UploadFile(string adrHTTP, string localFile, string strLogin, string strPswd)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(adrHTTP);
try
{
req.Method = "PUT";
req.AllowWriteStreamBuffering = true;
req.Credentials = new NetworkCredential(strLogin, strPswd);
Stream reqStream = req.GetRequestStream();
FileStream rdr = new FileStream(localFile, FileMode.Open);
byte[] inData = new byte[4096];
int bytesRead = rdr.Read(inData, 0, inData.Length);
while (bytesRead > 0)
{
reqStream.Write(inData, 0, bytesRead);
bytesRead = rdr.Read(inData, 0, inData.Length);
}
rdr.Close();
reqStream.Close();
req.GetResponse();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Вызов функции:
UploadFile("http://192.168.1.100/AAA/BBB.zip", "D:\\BBB.zip", "user", "1");
На сервере установлен IIS 6. Создан виртуальный каталог с псевдонимом AAA. Установлены права на чтение и запись.
Выполнение функции приводит к ошибке:
The remote server returned an error: (501) Not implemented.
Скачивание с этого адреса (Method="GET") проходит успешно.
Подозреваю что в IIS нужно произвести сопоставление расширений, но вот как это сделать - я не знаю.