У меня есть сервер sharepoint, на котором размещены некоторые файлы.
У меня есть некоторый код .Net, который создает веб-запрос для получения некоторых файлов.Это работает правильно.
Когда я пытаюсь использовать аналогичный код для PUT файла в том же месте, я получаю:
System.Net.WebException: The remote server returned an error: (405) Method Not Allowed on my request.GetResponse();
Я не получаю никаких InnerExceptions.
Вот мой код:
var requestPath = Path.Combine(serverBasePath, library.GetLibraryPath(), Path.GetFileName(filePath));
var request = WebRequest.Create(requestPath);
request.Credentials = CredentialCache.DefaultNetworkCredentials;
request.Method = "PUT";
var buffer = new byte[1024];
using (var requestStream = request.GetRequestStream())
using (var fileStream = new FileStream(filePath, FileMode.Open))
for (int i = fileStream.Read(buffer, 0, buffer.Length); i > 0; i = fileStream.Read(buffer, 0, buffer.Length))
requestStream.Write(buffer, 0, i);
using (request.GetResponse()) { }
return requestPath;
Использование того же кода (замена PUT на GET и изменение пути к файлу на существующий файл) работает.
Через веб-интерфейс Sharepoint я могу загружать новые файлы.Я также попытался изменить авторизацию в параметрах, чтобы поместить полный доступ для всех аутентифицированных пользователей в этот каталог.