Я хочу использовать HttpWebRequest для отправки файла на сервер:
private void testUpload()
{
FileStream source = File.Open(@"C:\test.txt", FileMode.Open);
var request =
(HttpWebRequest)WebRequest.Create(new Uri("http://example.com/Project/"));
request.Method = "POST";
request.BeginGetResponse(DataUploadCompleted, request);
}
private void DataUploadCompleted(IAsyncResult ar)
{
var request = (HttpWebRequest)ar.AsyncState;
var response = request.EndGetResponse(ar);
}
Я получил это исключение:
Удаленный сервер возвратил ошибку: (405) МетодНе разрешено.
Когда я получаю доступ: "http://example.com/Project/", на странице отображается:
Directory Listing Denied
This Virtual Directory does not allow contents to be listed.
Однако я уже выполнил команду chmod 777 для папки: projectи разрешить пользователю IIS загружать на него файлы (полное разрешение).
Почему я получил это исключение?
Я искал решение. Некоторые люди советуют использовать:
NetworkCredential myCred = new NetworkCredential("myusername", "mypassword");
request.Credentials = myCred;
Являются ли myusername и mypassword учетной записью FTP?
Если мне нужно использовать учетную запись FTP, мне это не нравится. Могу ли я использовать некоторые другие учетные данные, а не учетную запись FTP?Я не хочу предоставлять учетную запись ftp, и люди получат доступ на мой сервер.