Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

127
Views
Node.js, pg (postgresql): coloque datos binarios puros en el campo 'bytea'

mi pregunta es: ¿cuál es la forma correcta de poner datos binarios en la solicitud 'INSERTAR' PostgreSQL (Node.js + pg)?

 const req = "INSERT INTO public.product (" + "name, doc_name, purchase_price, selling_price, weight, " + "id_string, landing_url, img_data, img_name, active) " + "VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10);"; const values = [ obj.product_name, obj.product_doc_name, obj.product_purchase_price, obj.product_selling_price, obj.product_weight, obj.product_id_string, obj.product_landing_url, obj.product_image_data, obj.product_image_name, 'true' ];

'obj.product_image_data' es el campo del cuerpo de la solicitud Express('req.body.product_image_data');

Mi 'prueba' almacenar datos binarios (desde 'req.body.product_image_data') al archivo del lado del servidor local está bien.

 console.log("product_image_data lenght: " + obj.product_image_data.length); //write img data to file fs.writeFileSync('./TEST.PNG', obj.product_image_data, 'binary');

Por supuesto, los datos binarios puros 'tal cual' tienen un resultado de error como en la imagen. imagen de error

¡Gracias!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Un búfer regular de datos binarios de Node.js debería funcionar para el nodo pg y el tipo de columna bytea.

 > Buffer.from('\x00\x01\x02') <Buffer 00 01 02>

Asegúrese de que el objeto sea una cadena binaria adecuada como búfer. Usar Buffer.from podría ser el truco.

 const values = [ obj.product_name, obj.product_doc_name, obj.product_purchase_price, obj.product_selling_price, obj.product_weight, obj.product_id_string, obj.product_landing_url, Buffer.from(obj.product_image_data), obj.product_image_name, 'true' ];
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!