【问题标题】:how to show image from database in php/mysql. if image is insert in db using C#/Vb.net如何在 php/mysql 中显示数据库中的图像。如果使用 C#/Vb.net 将图像插入数据库
【发布时间】:2015-01-08 09:18:34
【问题描述】:

我有两个应用程序,一个是桌面应用程序,另一个是 Web 应用程序。

我们使用带有 c#.net/mysql(mysql 中的 blob 数据类型)的桌面应用程序将图像存储在 db 中,因为图像是由签名设备捕获的。

我想在 Web 应用程序中显示该图像,但它不起作用。我正在使用

   $im = imagecreatefromstring($data);
   if ($im !== false) {
     header('Content-Type: image/png');
     imagepng($im);
     imagedestroy($im);
 }
 else {
    echo 'An error occurred.';
 }

警告:imagecreatefromstring():数据在

中不是可识别的格式

这就是我在数据库中保存的方式@

Dim myimage As Image
Dim fileName As String = "c:\img.jpg"
myimage.Save(fileName, System.Drawing.Imaging.ImageFormat.Jpeg)

Dim imgBytes() As Byte = Nothing
Dim uFileInfo As New IO.FileInfo(fileName)
Dim uFileLength As Long = uFileInfo.Length
Dim uFstream As New FileStream(fileName, FileMode.Open, FileAccess.Read)
Dim uBinaryReader As New BinaryReader(uFstream)
imgBytes = uBinaryReader.ReadBytes(Convert.ToInt32(uFileLength))


Dim Cmd As New System.Data.Odbc.OdbcCommand("update tbl set Sign=? where ID='1', ConnectionString)
Dim param1 As System.Data.Odbc.OdbcParameter
param1 = New OdbcParameter("?", OdbcType.Binary)

param1.DbType = DbType.Binary
param1.Value = imgBytes
param1.Size = imgBytes.Length
Cmd.Parameters.Add(param1)

这是 Db 中的数据


ÿØÿà JFIF ÿÛ C

$.' ",#(7),01444'9=82<.342 c>

2!!22222222222222222222222222222222222222222222222222ÿÀ d ú" ÿÄ
ÿÄ µ } !1AQa"q2'¡#B±ÁRÑð$3br, %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–~~™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÄÆÇÈÉÊÒÓÔÕÖרÙÚáâãää÷æçèéêñòó>õööøùùúÿ
56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz,ƒ„…†‡́Š'“”•--~™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÙÚõãäåæçèéêòóõö÷øùùúÿ ? ÷ú(¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ Žyáµ,Iî%H¡KðXFÛ¡„ŽŒÇþZ?¹àvùˆÛwú¯Ë Øæÿ 1åháú¢pòãª{5ðOyójúæ§rßܵ¬£SþÈ„‡ÿ ¾ªî¥«›IÖÊÎÕïu]Ë6ÕEéºGè‹}IÁÀl¥ý«jœëZ›CkM.G„À¦HßðƒÔ ?á Òÿ çë\ÿ Áíïÿ £ÉÔ<=ûÕº¸Ô´µûñL<ˈûÊýdQÝ[-Ü1ÆÒ¨óøræÞ‹©î´Ë™V¥÷Éo#pªÍÕÑŽ–@$†ùwèÍÌω,R(tt9VAî)õÏéŸñ*ñ-î‘ÒÚé ý þéÜÈ=ƒ2?ÖSè+  Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ³õ=PXùpCÚ/çÈ‚Ø6c«1þÛ·A’@,Ö5),£ŽÞÍmFä”¶…º{»c¢.rOÐHÚ^šS#ÜÞÌÚ.åæIHýG8Q€3À iÚC[Üûûƒy¨ºí2•Ú‘)ꑯ;WêNIÀÃoõvûQÓ4ÅYõ|‚c¶øä#ô^­ì2Á5+ë‰ïWHÓ_eÓ&û‹Œ-c9 àð]ˆ!Aã‚N@Á½a§Ûi–¢ÞÖ=ˆ f$åVbyf'’O&€¦é±i°2«¼³JÛçžN^gþó~@ 8
¹EÏøËþ@–ßöÓô¶è+ŸÔâcâí3Oë Œm¨N;o9Ž9[ë5ÐP?â¯ôhô½N>'µÔ­£Sê“J°8>Ø“wÕG¥tÏøçåð&»0ûööRÜÆ}52!üA®‚€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ ¡«êcK³‘y÷2¸†Ú peôì:’{ Ojºî‘FÒHÁAff8 ¤Ö€©¹ñÒ÷+‹8ܨ·<¯™øfÿ €¯ðÐí3L6fK›™~ѨO>|qÑ œrNI$³TÔ¥†htûI5€Jå!AÖGÇðŒ€V$9"MOS"8a‹íÓä[Ûƒ,ØêÌ…F[¶@$š^~lDÓÏ/ŸrC\OŒdŽŠ£øQyÀ÷$ä'Hšn›™nÈŽòË+™' žO¿3fü€ p *åPTõMF-+O’îUgÛ…H“ïJäáQ}É ­.£¨Ã¦Û‰e#»lŠÆ^g=GsÁö H š¥eawww¥¬,k4y6Ö‘¶ä·ÈÁbŠB Æ ÈI 4M:[i'¼e“Q»:é×'»¿ì¨Â¦z“Z”Q@ÿ Žÿ äžx—þÁW_ú)« ®Ç?7€õèGßžÆ[xÇ«È ¥~,ÀWA@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@6%¼!}m©{åÙHÿ óÍ''bgÿ €«–ü+GTÔ£ÒlLÆ6–BDp@Ÿzi ‹õõèIÀ¬ÝCͤÐ]F'[È…eIU”ŽAÏlW ¢_][M§«ÛjWÚtHÑiWpÛµÁò‰ I$iºBî»Fý¤mÊ–a@n'¦Éh¯uzë6¥p¸~tˆž¹ ü“É&´ëŸÿ „ãà òÜëv–SϽóýšaÿ l¥Úÿ N9£þ5ø·µÖ.ýÏ/HºÚÿ G1„ǹl{ÐAYº–³Œ©kOw¨J7EiˆþóÂ'ûGè2püTz·Ì=ÔôR«=Ó^¦8Ï·ï? ÓÓt›M*'[dc$§tÓHÅ䙿¼ìy'ù¦Î·QÔÞ9u]€GŸ.ÝðGž{±åˆ jQE QE sþ-ýíž›d¿ënu[=ƒ×Ë•goür'®,¹ø¿âoâù&ëk£ )…Ú¹'Acÿ Œ¨Ïý4aÚº (¢Š (¢Š (¢Š (¢Š (¢Š (¢Š (¢Š (¢Š (¢Š (¢ À× Õ5+))" ãk‹â;À¤/þÇ¸à €€Ÿè¾>»–';Ý:Úfn'Š:±ö5“¥ç‰b[MåµÓdæ=5FÆ•;Éù¹>XÀ!·v ÑÓµ)5K‰&·³mŠsÖvÏÞOö@‹¨àÚT€Pª `Ú–€ (¢€ «©jiz|×—¼¸ÇÝQ–rN¨îÄ îH«]MsöŸñ=×ST6™iK2Ý&•Í*@ *·}ÏŽ$ׇ4ùôí4»öÙîn¶œ6F.Àà´{ZÔQ@Q@Q@Q@ Q@Q@Q@Q@Q@Q@Q@ï¬mµ+Gµº|MƒÃe ä2° «È ‚"±ÿ á÷-¯k†Ät´ûf1ÿ m€óÏ>²N~ÐQ@šo‡´&fžÎÆ4¹q ¶K§Ì“È?Û•²íø“ZtQ@Q@2i¢¶,Iç•”†5.ò;UQÉ$ž,¨êz柤´qÜÌMÌ£1[B¦I¥ÿ u$SŒäUkÍf÷íÚÄRÛÚÆÊmtÖ' HsæK·!›=,«´½ Í⃅šêYJµï¶"/ýýß¿¾ U ©h Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ¸ˆ¾2բР(¢Š (¢Š (¢Š (¢Š (¢Š (¢Š (¢ŠÿÙ

【问题讨论】:

标签: php mysql


【解决方案1】:

首先,将图像从桌面应用程序上传到某个位置并仅将文件位置保存到数据库中可能会更聪明。

如果你真的想坚持当前的实现,你应该制作一个 php 文件来显示图像,例如 image.php

// database connection here
// get data from database where id = x 
echo '<img src="data:image/jpeg;base64,' . base64_encode($data) . '"/>'

编辑:

header("Content-type: image/jpeg");
header("Content-Length: " . $filesize;

// database connection here
// get data from database where id = x 
echo $data;

并像使用它

echo '<img src="image.php?id=x"/>'

【讨论】:

  • @AtifMajeed 这应该可以,您可以编辑您的问题并添加用于在数据库中插入图像的代码吗?
  • @AtifMajeed 我的 vb 非常糟糕,但与我发现的其他示例相比,它看起来不错(我认为?),你可以试试我所做的编辑吗?
猜你喜欢
  • 1970-01-01
  • 2015-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-20
相关资源
最近更新 更多