MOngoDB写入图片

来源:互联网 发布:淘宝发货清单软件 编辑:程序博客网 时间:2024/06/05 03:31

使用GridFS 来进行图片的写入,其中注意要写入图片的二进制文件。



<span style="font-size:14px;">FileInputStream ins = new FileInputStream(fil);BufferedInputStream bis = new BufferedInputStream(ins);</span><pre name="code" class="java"><span style="font-size:14px;">GridFSInputFile gfsFile = gfsPhoto.createFile(bis);</span>

<span style="font-size:14px;">package MongoTest;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import org.bson.Document;import com.mongodb.BasicDBObject;import com.mongodb.Cursor;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBObject;import com.mongodb.MongoClient;import com.mongodb.client.*;import com.mongodb.client.result.DeleteResult;import com.mongodb.gridfs.GridFS;import com.mongodb.gridfs.GridFSInputFile;import com.mongodb.MongoCredential;import com.mongodb.QueryOperators;import com.mongodb.ServerAddress;import static com.mongodb.client.model.Filters.*;public class MongoDBDemo{private static GridFS gfsPhoto;     public static void main(String[] args) {try {List<Document> list = new ArrayList<Document>();// 连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址// ServerAddress()两个参数分别为 服务器地址 和 端口ServerAddress serverAddress = new ServerAddress("169.254.123.90", 27017);List<ServerAddress> addrs = new ArrayList<ServerAddress>();addrs.add(serverAddress);// MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码MongoCredential credential = MongoCredential.createScramSha1Credential("sa", "admin", "xush".toCharArray());List<MongoCredential> credentials = new ArrayList<MongoCredential>();credentials.add(credential);MongoClient client = new MongoClient(addrs, credentials);DB db=client.getDB("tbm");SimpleDateFormat format= new SimpleDateFormat("yyyy-mm-ddHH:mm:ss");Calendar calendar= Calendar.getInstance();//获取当前日期File fil=new File("E:/images/考拉.jpg");FileInputStream ins = new FileInputStream(fil);BufferedInputStream bis = new BufferedInputStream(ins);String fileName=fil.getName();GridFS gfsPhoto = new GridFS(db,"testFs");GridFSInputFile gfsFile = gfsPhoto.createFile(bis);String _id = "CREC188_file000_jpg_yufeng_71470.0-71475.0_"+fileName;/*gfsPhoto.remove(new BasicDBObject("_id",_id));*/gfsFile.put("_id", _id);gfsFile.put("filename", fileName);gfsFile.put("contentType", ".jpg");gfsFile.save();} catch (Exception e) {e.printStackTrace();}}


0 0
原创粉丝点击