-1

リクエストでダウンロードした後、画像をmongoに保存しようとしています

これは、破損したイメージを db に保存するコードです。

request('http://test.jpg', function (error, response, image) {

    db.images.insert(

        {
            file_name: 'test.jpg',
            image: new Buffer(image)
        },

        function(err){

           //mongojs callback

        }
    );
});

私はmongojsモジュールを使用しており、BinDataタイプとして通常のドキュメントに画像を保存していることに注意してください。

また、画像をファイルに書き込み、それを読み取ってデータベースに保存すると、破損はありません。しかし、ファイルシステムを完全に回避するという私の意図があるため、これを行いたくありません。

これはエンコーディングまたはバッファと関係があると思いますが、問題を解決するのに十分な知識がありません。

4

1 に答える 1

0

gridfs のような適切な画像保存ソリューションを使用したくない場合は、画像を base64 でエンコードできます。

JavaScriptで文字列をBase64にエンコードするにはどうすればよいですか?

これにより、mongo に格納できる文字列が得られます。

于 2012-09-21T23:07:55.883 に答える