2013-10-12 70 views
0

我使用HttpWebRequest在服务器上上传文件。但我也想发送一些参数(我的意思是名称 - 值对)如何向多部分POST请求添加其他参数?

+0

如果我只是我的所有名称 - 值对添加到URL?像这样的东西:localhost:8080/fileuploader?a = b&c = d。它应该与POST一起工作吗? –

+0

看看是否有帮助:http://msdn.microsoft.com/en-us/library/debx8sh9%28VS.80%29.aspx – Amar

回答

1

您可以将它们添加到查询字符串中。无论HTTP方法是POST还是GET,它们都可以在服务器上使用。

+0

好的。但另一方面,当我发送一个文件到服务器时,在文章中有一个带有分隔符的文件体。所以我可以将我的参数字符串添加到请求正文?我的意思是在文件正文之前或之后。我不确定POST机构在这种情况下应该是什么样子。 –

+0

看起来像你想从这个答案然后:http://stackoverflow.com/questions/566462/upload-files-with-httpwebrequest-multipart-form-data 这上传的名称/值集合作为一个单独的部分多部分POST请求。 –

+0

谢谢。似乎这正是我需要的。 –

0

你可以试试这个:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("some site"); 
request.Method = "POST"; 
request.ContentType = "application/x-www-form-urlencoded"; 
byte[] data = "some data"; 
request.ContentLength = data.Length; 
using (Stream stream = request.GetRequestStream()) 
{ 
    stream.Write(data, 0, data.Length); 
} 
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
+0

是的,但我想要的是发送文件和参数字符串。我应该先在流中写什么?如果“某些数据”是一对文件和参数字符串,您能否澄清如何处理这种情况? –

相关问题