سلام . شما مشكل رو گفتي ولي نگفتي كه از چه پايگاه داده استفاده مي كني . ولي به هر حال ميشه اينطور راهنمايي كرد :
شما براي ذخيره يك تصوير و يا هر فايل ديگه بايد اون فايل رو به يك رشته (آرايه) از بايت تبديل كنيد و بعد اين رشته رو توي ديتابيس خودت ذخيره كني .
قبل از اون هم بايد فيلدي كه قراره تصوير رو ذخيره كنه از نوع Binary انتخاب كنبي . مثلا در ديتا بيس اكسس از نوع OLE Object و در ديتا بيس SQL Server از نوع varbinary(max) استفاده كني . حالا من طريقه تبديل يك تصوير رو به يك آرايه بايتي و برعكس رو كه به زبان VB نوشته شده به شما ميگم :
تابع تبديل تصوير به آرايه اي از بايت :
Public Function PictureToByte(ByVal Img As System.Drawing.Image, ByVal imgFormat As System.Drawing.Imaging.ImageFormat) As System.Byte()
Dim Mstream As IO.MemoryStream = New IO.MemoryStream
Img.Save(Mstream, imgFormat)
PictureToByte = Mstream.GetBuffer
Mstream.Close()
End Function
كه خروجي ايت تابع آماده ذخيره در ديتا بيس هست.
تابع تبديل آرايه بايتي به تصوير :
Public Function ByteToPicture(ByVal ByteSt As System.Byte()) As System.Drawing.Image
Dim MStream As IO.MemoryStream = New IO.MemoryStream(ByteSt)
ByteToPicture = System.Drawing.Image.FromStream(MStream)
' MStream.Close()
End Function
كه خروجي ديتابيس رو با اين تابع تبديل به تصويرش مي كني .
به همين راحتي .
ضمنا ببخشيد ، بعد از اينكه جواب رو فرستادم فهميدم توي فروم PHP بودم . به هرحال شايد به دردتون بخوره و با كدهاي PHP بتونيد اين كار رو انجام بديد.