[NetWork][C#.NET] 上傳 EPCIS Xml文件 到 ezTR

系统 1546 0

上篇已經提到如何利用序列化產生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網址"
    
    ;

    
    
      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 關閉後就寫入到 Server,利用HttpStatusCode判斷是否上傳成功

    requestStream.Close();



uploadResponse = uploadRequest.GetResponse() 
    
      as
    
     HttpWebResponse;


    
      if
    
     (uploadResponse.StatusCode == HttpStatusCode.OK)

    
    
      return
    
    
      true
    
    ;


    
      else
    
    
      return
    
    
      false
    
    ;
  

[NetWork][C#.NET] 上傳 EPCIS Xml文件 到 ezTRACK 的 Server


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论