2011-10-21 64 views
0

我想讀取文件的內容使用文件對話框,然後將其保存在一個字節數組打開它傳遞到Web服務將整個文件讀入一個字節數組中的WinForms

 Stream myStream; 
     OpenFileDialog saveFileDialog1 = new OpenFileDialog(); 

     saveFileDialog1.Filter = "zip files (*.zip)|*.zip|All files (*.*)|*.*"; 
     saveFileDialog1.FilterIndex = 2; 
     saveFileDialog1.RestoreDirectory = true; 

     if (saveFileDialog1.ShowDialog() == DialogResult.OK) 
     { 
      if ((myStream = saveFileDialog1.OpenFile()) != null) 
      { 

       NSITESERVICE.UploadSoapClient obj = new NSITESERVICE.UploadSoapClient(); 

       byte[] filebytes = //what should i pass it over here... 

       obj.UploadFile("kamal", "[email protected]", filebytes); 

       // Code to write the stream goes here. 
       myStream.Close(); 
      } 
     } 

我不知道我在哪裏錯了

任何幫助表示讚賞。 Thnaks

+0

我應該傳遞給byte [] filebytes。 – Moons

回答

4

你沒有分配任何東西給filebytes變量,所以你實質上是將null傳遞給服務。使用File.ReadAllBytes方法讀取所有字節並將其傳遞給web服務。

+0

是的,我傳遞null。那是我的問題,我應該通過什麼。請幫忙 – Moons

+0

謝謝你解決我的問題 – Moons

3

你實際上沒有讀取myStream中的字節。

byte[] fileBytes = new byte[myStream.Length]; 
myStream.Read(fileBytes,0,mystream.Length); 

obj.UploadFile(...) 
+2

這是假設整個文件將在一次調用中讀取。這是一個危險的假設。 –

+0

這解決了我的問題 – Moons

+0

@JonSkeet然後應該做什麼。你可以建議 – Moons

相關問題