Je suis en train de stocker des images dans mongo après l'avoir téléchargé avec requestEnregistrement d'une image dans MongoDB
ici est mon code qui provoque une image endommagée à stocker dans db.
request('http://test.jpg', function (error, response, image) {
db.images.insert(
{
file_name: 'test.jpg',
image: new Buffer(image)
},
function(err){
//mongojs callback
}
);
});
S'il vous plaît noter que je suis en utilisant le module mongojs et le stockage des images dans le document que le type régulier BinData.
Aussi, si j'écris l'image dans un fichier, lisez-la puis enregistrez l'image dans la base de données, puis il n'y a pas de corruption. Mais je ne veux pas faire cela comme mon intention d'éviter complètement le système de fichiers. Je suis jolie cela a quelque chose à voir avec l'encodage ou les tampons mais je n'en connais pas assez pour résoudre mon problème.
Si ce code fonctionnait lorsque vous avez enregistré l'image dans un fichier et que vous l'avez relue avant de l'enregistrer dans la base de données, le problème n'est probablement pas lié à cette partie du code, n'est-ce pas? Ou suis-je mal compris? – JohnnyHK
Je pense que la raison pour laquelle cela fonctionne quand je sauvegarde dans un système de fichiers puis dans la base de données c'est parce que le codage correct ou les tampons sont utilisés. Mais quand je le fais directement, je ne le règle pas correctement. – saeed
En quoi le fichier jpeg est-il corrompu? Êtes-vous capable de créer un lien vers une image originale et corrompue afin que quelqu'un puisse comparer les différences? – Stennie