sql >> Database >  >> RDS >> Mysql

Door MySql Connector voorbereide instructie draagt ​​slechts 64 bytes over

Het probleem ligt in de constructor van het afbeeldingsbestand:

std::ifstream   blob_file(filename.c_str());

Dit moet het kenmerk binaire modus hebben:

std::ifstream   blob_file(filename.c_str(), std::ios_base::binary);

Het bestand, een JPEG-afbeelding, is binair gegevens.

Ook toont de hexdump op byte 65 1a , wat het Windows OS einde van het bestandsteken is:
0000040 1a 14 1115 1811 1821 1d1a 1f1d 1f1f 1713

Na het repareren van de constructor, toont de MySql de gegevensgrootte:

mysql> SELECT ID_Picture, LENGTH(Image_Data)
    -> FROM picture_image_data
    -> WHERE ID_Picture = 1;
+------------+--------------------+
| ID_Picture | LENGTH(Image_Data) |
+------------+--------------------+
|          1 |              18453 |
+------------+--------------------+
1 row in set (0.00 sec)



  1. Percentielrang berekenen in MySQL

  2. Opgewaardeerd naar Ubuntu 16.04 nu MySQL-python-afhankelijkheden zijn verbroken

  3. Hoe te vinden wanneer de MySQL/MariaDB-server is gestart?

  4. MySQL-vraag - Hoe om te gaan met meerdere soorten gebruikers - één tabel of meerdere?