【问题标题】:A generic error occurred in GDI+, Saving non png image from Fileupoad FileBytes to MemoryStreamGDI+ 中发生一般错误,将非 png 图像从 Fileupoad FileBytes 保存到 MemoryStream
【发布时间】:2015-03-27 13:13:17
【问题描述】:

我已经从这里应用了 GDI+ 错误的推荐解决方案:

A generic error occurred in GDI+, JPEG Image to MemoryStream

我仍然不适用于 jpeg 和 jpg 文件,但适用于所有 png 文件

在下面查看我的实际代码:

            Dim fl = uploader.PostedFile.FileName.ToLower

            If fl.EndsWith(".png") OrElse fl.EndsWith(".jpeg") OrElse fl.EndsWith(".jpg") Then
                Using ms = New MemoryStream(uploader.FileBytes)
                    Using i = Drawing.Image.FromStream(ms)
                        i.Save(ms, If(fl.EndsWith(".png"), System.Drawing.Imaging.ImageFormat.Png, System.Drawing.Imaging.ImageFormat.Jpeg))
                        Dim sig = Convert.ToBase64String(ms.ToArray())
                        Dim code = Trim(txtStaff.Text).PadLeft("00000000")
                        DB.rw_signature_save(code, sig)
                    End Using
                End Using

                BuildSignatureList()

                statusBox.Attributes("class") = "notification success"
                statusBox.InnerHtml = "Signature updated succesfully"
            Else
                statusBox.Attributes("class") = "notification warning"
                statusBox.InnerHtml = "Only <b>Image</b> ( <font color='green'>.png, .jpg </font> ) files allowed."
            End If

请问除了上面链接的解决方案之外,还有其他解决方案吗? 谢谢。

【问题讨论】:

    标签: file-upload gdi+ memorystream


    【解决方案1】:

    刚刚意识到这实际上是不必要的。 我可以直接从 uploader.FileBytes 转到 Convert.ToBase64String

    Dim sig = Convert.ToBase64String(uploader.FileBytes)
    

    【讨论】:

      猜你喜欢
      • 2010-11-06
      • 2012-10-13
      • 2011-06-04
      • 1970-01-01
      • 2013-09-26
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      相关资源
      最近更新 更多