好吧,長話短說。我正在開發類似於UPS交付潛水員使用的設備的軟件。我們必須要有方法來獲得交貨證明(POD)。第一個是簽名,第二個是相機拍攝的照片。通過網絡服務保存圖片
現在,捕獲這些圖像的設備將它們發送到我們擁有的Web服務,然後將它們保存在服務器上。設備將這兩個文件保存爲不同的文件類型,png用於簽名和圖片的jpg,但Web服務將它們保存爲jpg文件。目前簽名正在工作,但圖片不斷拋出異常「發生了一般異常gdi +」。
我不明白爲什麼一個人會保存得很好,但另一個人一直拋出錯誤信息。特別是因爲它們在服務器端時都使用相同的代碼。
我走了搜查拋出堆棧溢出,並沒有找到任何解決我的問題,我GOOGLE了無濟於事。任何人都有什麼建議如何讓圖片保存?
將圖像轉換爲字符串以便將其發送到Web服務的設備邏輯。
**Picture from camera logic**
Using MS As New System.IO.MemoryStream(), BM As New Bitmap(ImagePath)
BM.Save(MS, System.Drawing.Imaging.ImageFormat.Jpeg)
ImageString = Convert.ToBase64String(MS.ToArray())
End Using
**Signature logic**
Using MS As New System.IO.MemoryStream(), BM As New Bitmap(ImagePath)
BM.Save(MS, System.Drawing.Imaging.ImageFormat.png)
ImageString = Convert.ToBase64String(MS.ToArray())
End Using
Web服務邏輯將圖像變回字符串,然後將其保存爲jpeg。
Dim Image As Drawing.Bitmap = Nothing
Dim ByteImage As Byte()
If ImageString.IsNullOrEmpty = False Then
ByteImage = Convert.FromBase64String(ImageString)
Using stream As New MemoryStream(ByteImage, 0, ByteImage.Length)
stream.Write(ByteImage, 0, ByteImage.Length)
Image = CType(Drawing.Bitmap.FromStream(stream, True), Drawing.Bitmap)
End Using
Image.Save(FileLocation,Drawing.Imaging.ImageFormat.Jpeg)
End If
Image.Save是什麼引發異常。
我認爲您需要提供具體細節(附帶代碼示例),以便任何人協助您。 –
我已經添加了一些示例代碼。 – GH23