Campo BLOB no Sql Server!!
14/02/2005
0
Olá pessoal,
Estou com um problema: Preciso gravar e visualizar imagens scanneadas (jpg) em uma tabela (já com outras informações) no Sql Server 2000 utilizando o Delphi. Acho que terei que utilizar campos BLOB. Não tenho idéia de como fazer isso.
Se alguém souber ou possuir um exemplo, ficaria muito agradecido!!!
Abraços!!
Estou com um problema: Preciso gravar e visualizar imagens scanneadas (jpg) em uma tabela (já com outras informações) no Sql Server 2000 utilizando o Delphi. Acho que terei que utilizar campos BLOB. Não tenho idéia de como fazer isso.
Se alguém souber ou possuir um exemplo, ficaria muito agradecido!!!
Abraços!!
Leogalindo
Curtir tópico
+ 0
Responder
Posts
15/02/2005
Bon Jovi
Use DBImage:
procedure TForm1.EscolheImagem(Imagem: TDBImage); var oJPEG: TJPEGImage; oDialogo: TOpenPictureDialog; oPicture: TPicture; begin if not Assigned(Imagem) then Exit; if (not Assigned(Imagem.DataSource)) or (Imagem.DataField = ´´) then Exit; if not Assigned(Imagem.DataSource.DataSet) then Exit; if not (Imagem.DataSource.DataSet.Active) then Exit; oDialogo := TOpenPictureDialog.Create(nil); try oDialogo.Options := [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing]; oDialogo.Filter := ´Imagens (*.jpg;*.jpeg;*.bmp)|*.jpg;*.jpeg;*.bmp´; oPicture := TPicture.Create; try oJPEG := TJPEGImage.Create; try if oDialogo.Execute then begin oPicture.LoadFromFile(oDialogo.FileName); oJPEG.Assign(oPicture.Graphic); if not (Imagem.DataSource.DataSet.State in dsEditModes) then Imagem.DataSource.DataSet.Edit; Imagem.Picture.Graphic.Assign(oJPEG); end; finally FreeAndNil(oJPEG); end; finally FreeAndNil(oPicture); end; finally FreeAndNil(oDialogo); end; end; procedure TForm1.Button1Click(Sender: TObject); begin EscolheImagem(DBImage1); end;
Responder
19/04/2022
Paulo Oliveira
Usando:
PHP
SQL Server
Estou tentando converter uma foto que está em campo blob e Hexadecimal, mas quando faço um Select
Mas está saindo caracteres estanhos em vez dos hexadecimais:
�����JFIF���������C�
���C
����,"��������������
�������}�!1AQa"q2���#B��R��$3br�
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������������������
������w�!1AQaq"2�B���� #3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������������?��-��h9����s�W�O�i��8T���K�q@�N'4
���Z���(OZwL�)���)�M+�HV*<!���[�t�V�����<�'bZ23�T�+^HU%�9��63ۚ��OJ�$%s���)��K�ʻ���p�{��u�%�?�]l�=*���8���'�HX�B�=j�_Z��-#��
`_�̙1�v=i��Q�T�ѝ�
No qual deveria estar algo neste sentido:
FFD8FFE000104A46494600010200000100010000FFDB0043000302020302020303030304030304050805050404050A070706080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F171816141812141514FFDB00430103040405040509050509140D0B0D1414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414FFC0001108019E012C03012200021101031101FFC4001F0000010501010101010100000000000000000102030405060708090A0BFFC400B5100002010303020403050504040000017D01020300041105122131
PHP
SQL Server
Estou tentando converter uma foto que está em campo blob e Hexadecimal, mas quando faço um Select
$sql = 'SELECT id, foto '; $sql .= ' FROM tabela'; $sql .= ' WHERE id = 10 '; $stmt = $msconn->prepare($sql); $stmt->execute(); while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ if($row['foto']!=''){ $id = $row['id']; $fot = substr($row['foto'],2); echo '<textarea cols=60 id="opiniao" rows="10" name="foto" wrap="hard" id="f_foto">'.$row['foto'].'</textarea><br>'; $binary = pack("H" . strlen($fot), $fot); $arquivo = "img/profile/foto".$id.".jpeg"; file_put_contents($arquivo, $binary); $foto = 'img/profile/foto'.$id.'.jpeg'; echo '<img src="'.$foto.'" /><br>'; echo $foto.'<br>'; } }
Mas está saindo caracteres estanhos em vez dos hexadecimais:
�����JFIF���������C�
���C
����,"��������������
�������}�!1AQa"q2���#B��R��$3br�
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������������������
������w�!1AQaq"2�B���� #3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������������?��-��h9����s�W�O�i��8T���K�q@�N'4
���Z���(OZwL�)���)�M+�HV*<!���[�t�V�����<�'bZ23�T�+^HU%�9��63ۚ��OJ�$%s���)��K�ʻ���p�{��u�%�?�]l�=*���8���'�HX�B�=j�_Z��-#��
`_�̙1�v=i��Q�T�ѝ�
No qual deveria estar algo neste sentido:
FFD8FFE000104A46494600010200000100010000FFDB0043000302020302020303030304030304050805050404050A070706080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F171816141812141514FFDB00430103040405040509050509140D0B0D1414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414FFC0001108019E012C03012200021101031101FFC4001F0000010501010101010100000000000000000102030405060708090A0BFFC400B5100002010303020403050504040000017D01020300041105122131
Responder
Clique aqui para fazer login e interagir na Comunidade :)