上篇已經(jīng)提到如何利用序列化產(chǎn)生Xml文件( [XML][C#.NET] 處理 ezTRACK 的 EPCIS Xml文件 ),這篇是說明如何將Xml文件上傳到ezTRACK
先建立起方法模組:
public bool Upload( string FileName) { if ( string .IsNullOrEmpty(FileName)) throw new ArgumentNullException( "FileName" ); if (!File.Exists(FileName)) throw new FileNotFoundException( "FileName" ); string fileName = FileName; string serverUrl = "ezTRACK網(wǎng)址" ; string account = "帳號" ; string password = "密碼" ; Stream requestStream = null ; FileStream fileStream = null ; HttpWebRequest uploadRequest = null ; HttpWebResponse uploadResponse = null ; //忽略驗証 ServicePointManager.ServerCertificateValidationCallback = delegate { return true ; }; try { //DOTO:1.Create WebRequest //DOTO:2.Creat Request Stream //DOTO:3. Write Request Stream } catch { throw ; } finally { if (uploadResponse != null ) uploadResponse.Close(); if (fileStream != null ) fileStream.Close(); if (requestStream != null ) requestStream.Close(); } }
DOTO:1.所要做的是建立WebRequest
uploadRequest = WebRequest.Create(serverUrl) as HttpWebRequest; uploadRequest.Method = "POST" ; //uploadRequest.Method = WebRequestMethods.Http.Post; uploadRequest.ContentType = "application/soap+xml; charset=utf-8" ; uploadRequest.Credentials = new NetworkCredential(account, password);
DOTO:2.所要做的是建立RequestStream,把硬碟裡的檔案讀進來
requestStream = uploadRequest.GetRequestStream(); fileStream = File.Open(fileName, FileMode.Open); byte [] buffer = new byte [1024]; int bytesRead; while ( true ) { bytesRead = fileStream.Read(buffer, 0, buffer.Length); if (bytesRead == 0) break ; requestStream.Write(buffer, 0, bytesRead); }
DOTO:3. 當 Request Stream 關(guān)閉後就寫入到 Server,利用HttpStatusCode判斷是否上傳成功
requestStream.Close(); uploadResponse = uploadRequest.GetResponse() as HttpWebResponse; if (uploadResponse.StatusCode == HttpStatusCode.OK) return true ; else return false ;
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
