Загрузить файл с помощью HttpWebRequest - Не удалось загрузить? - PullRequest
0 голосов
/ 18 августа 2011

Вот код - загрузить файл в URI.Я не могу загрузить это.Что-то не так?

string fileToUpload = @"F:\\upload_file.txt";
FileStream rdr = new FileStream(fileToUpload, FileMode.Open);
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://localhost:8080/upload.txt"); //Given URI is exists
req.Method = "POST"; 
req.ContentLength = rdr.Length;
req.AllowWriteStreamBuffering = true;
Stream reqStream = req.GetRequestStream();
Console.WriteLine(rdr.Length);                
byte[] inData = new byte[rdr.Length];

// Get data from upload file to inData 
int bytesRead = rdr.Read(inData, 0, (int)rdr.Length);

// put data into request stream
reqStream.Write(inData, 0, (int)rdr.Length);
rdr.Close();

req.GetResponse();
// after uploading close stream 
reqStream.Close(); 

1 Ответ

4 голосов
/ 18 августа 2011

На первый взгляд, я думаю, что-то не так с файлом, который вы выбрали, @ должен использоваться для определения конкретной строки. Не нужны экранирующие символы. И наоборот, со строкой ниже в вашем веб-запросе.

Так что вы должны исправить это либо до @"F:\upload_file.txt";, либо "F:\\upload_file.txt";

...