我試圖發送一個在我的記憶流中創建的XML文件。當我嘗試使用UploadFile
並獲取無效參數錯誤時,問題就出現了。我的問題是,反正是有,我可以用我的MemoryStream,我與WebClient.UploadFile
創建要發送的文件或我需要這個做一些其他的方式?使用MemoryStream通過WebClient發送XML
string firstname = Request.Headers["firstname"].ToString();
string lastname = Request.Headers["lastname"].ToString();
string organization = Request.Headers["organization"].ToString();
string phone = Request.Headers["phone"].ToString();
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
MemoryStream ms = new MemoryStream();
using (XmlWriter xml = XmlWriter.Create(ms, settings))
{
xml.WriteStartDocument();
xml.WriteStartElement("List");
xml.WriteWhitespace("\n");
xml.WriteStartElement("Employee");
{
xml.WriteElementString("First", firstname);
xml.WriteElementString("Last", lastname);
xml.WriteWhitespace("\n");
xml.WriteElementString("Organization", organization);
xml.WriteElementString("Phone", phone);
}
xml.WriteEndElement();
xml.WriteEndDocument();
}
WebClient client = new WebClient();
client.UploadFile("http://test.com/test.aspx", ms);
我只是不明白這是如何工作的。定義的'UploadFile'重載在哪裏允許將一個流用作第二個參數?它是一種擴展方法嗎? –
我同意Jim的觀點,UploadData方法具有所需的簽名,但它發送原始數據。 – too
@too:你是對的,我不確定爲什麼我以前沒有看到Jim的評論。將編輯。 –