2011-08-18 61 views
0

这里是代码 - 上传文件到uri。 我无法上传。有什么问题吗?使用HttpWebRequest上传文件 - 无法上传?

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(); 

回答

4

乍一看,我觉得有可能是与文件不对劲您选择@应该被用来定义一个特定的字符串。不需要转义字符。反之亦然,请在您的网络请求中输入以下字符串。

所以,你应该纠正它要么@"F:\upload_file.txt";"F:\\upload_file.txt";

+0

我改变你说的改变。但之后“http:// localhost:8080/upload.txt”为空。是否上传文件内容? – soundy