चाल हेक्स के रूप में एन्कोड करना है और फ़ाइल को \ x के साथ प्रीपेड करना है। इसे वापस पढ़ना वास्तव में parseByteA के माध्यम से समर्थित है जो एक बफर देता है:
https://github.com/brianc/node-postgres /blob/master/lib/textParsers.js
पोस्टग्रेज़ 9.2.2 और नोड.जेएस 0.8.16 और नोड-पोस्टग्रेज़ (एनपीएम पैकेज ='पीजी') 0.11.2 पर डिस्क से एक छवि में पढ़ने के लिए मैंने यहां क्या किया है:
fs.readFile(loc_on_disk, 'hex', function(err, imgData) {
console.log('imgData',imgData);
imgData = '\\x' + imgData;
app.pgClient.query('insert into image_table (image) values ($1)',
[imgData],
function(err, writeResult) {
console.log('err',err,'pg writeResult',writeResult);
});
});
और मैंने इसे वापस लिखने के लिए क्या किया
app.get('/url/to/get/', function(req, res, next) {
app.pgClient.query('select image from image_table limit 1',
function(err, readResult) {
console.log('err',err,'pg readResult',readResult);
fs.writeFile('/tmp/foo.jpg', readResult.rows[0].image);
res.json(200, {success: true});
});
});