看板 C_Sharp 關於我們 聯絡資訊
各位前輩好 目前遇到一個問題... 使用c# WinForm Socket (vs2010) 傳圖至 APP 在Win7(專業版)的環境下,APP收圖都正常 但在WIN8 及 WIN10(home) 的環境下 APP=>decodeByteArray 出來的BMP 都是null 除了作業系統不同以外,其它的環境都一致 對照了一下byte的內容,發現Win8 Win10 的環境下 APP收到Byte[]的根本就不對了(每次都不同,而且帶有負數) 但WIN7發送的Byte[] ,每次APP收到的內容就會一致 Byte[]的內容,直到CoSocket.Send(byImg);時都沒問題 (win7,8,10都一致) 感覺是傳出後,才出錯 不過若傳文字的話,Win7,8,10都沒問題 程式碼如下: Image Imgtmp = Image.FromFile("j:\\pc.jpg"); Byte[] byImg = imageToByteArray(Imgtmp); CoSocket.Send(byImg); <===send的時候,有確定連線正常 ----- public static byte[] imageToByteArray(System.Drawing.Image imageIn) { MemoryStream ms = new MemoryStream(); imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); return ms.ToArray(); } 煩請各位先進們幫忙,謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.207.111 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1503062421.A.480.html ※ 編輯: ukyoGoGo (114.34.207.111), 08/18/2017 21:30:07 ※ 編輯: ukyoGoGo (114.34.207.111), 08/18/2017 21:33:24
J002: 有看receive出來的東西嗎? 08/18 22:20
pzyc79: return ms.ToArray()前加一段 ms.Position = 0; 試試看? 08/19 17:57