sql >> データベース >  >> NoSQL >> MongoDB

Javaを使用してmongoDBに画像を挿入する方法は?

    画像などのバイナリデータを保存するには、GridFS を使用できます。 または独自の実現を実装します。 ドライバー をダウンロードします src/test/com/mongodb/gridfs/GridFSTest.javaを見てください;)

    編集:あなたは今日ラッキーです!私はあなたのために完全なコードを作成しました;)お楽しみください!

    package mongodb.testing.java;
    import com.mongodb.*;
    import com.mongodb.gridfs.*;
    import java.io.*;
    
    public class Main {
    
        public static byte[] LoadImage(String filePath) throws Exception {
            File file = new File(filePath);
            int size = (int)file.length();
            byte[] buffer = new byte[size];
            FileInputStream in = new FileInputStream(file);
            in.read(buffer);
            in.close();
            return buffer;
        }
    
        public static void main(String[] args) throws Exception {
            //Load our image
            byte[] imageBytes = LoadImage("C:/Temp/bear.bmp");
            //Connect to database
            Mongo mongo = new Mongo( "127.0.0.1" );
            String dbName = "GridFSTestJava";
            DB db = mongo.getDB( dbName );
            //Create GridFS object
            GridFS fs = new GridFS( db );
            //Save image into database
            GridFSInputFile in = fs.createFile( imageBytes );
            in.save();
    
            //Find saved image
            GridFSDBFile out = fs.findOne( new BasicDBObject( "_id" , in.getId() ) );
    
            //Save loaded image from database into new image file
            FileOutputStream outputImage = new FileOutputStream("C:/Temp/bearCopy.bmp");
            out.writeTo( outputImage );
            outputImage.close();
        }
    }
    


    1. MongoDB:スキーマの移行、更新、または挿入

    2. プライマリ-セカンダリMongodbセットで、誤ってセカンダリに書き込んだ場合、プライマリに反映され、プライマリにルーティングされます

    3. マングースの関係と外部キーを理解する

    4. mongodbの日付文字列を比較することは可能ですか?