MOngoDB写入图片

使用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();
		}
			
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值