今天使用:
fseek(fp,0,SEEK_END);
size=ftell(fp);
rewind(fp);
buf=(char*)malloc(sizeof(char)*size);
if(buf==NULL)
{
cout
free(buf);
fclose(fp);
goto error ;
}
if(fread(buf,1,size,fp)!=size)
{
cout
free(buf);
fclose(fp);
goto error ;
}
fclose(fp);
{
BSONObjBuilder c;
c.append("cardbin", "621020");
c.append("udfcode", 8004);
c.append("currcardseq", 369);
c.append("currcertno", 369);
c.appendBinData("BINData", size, BinDataGeneral, buf);
BSONObj obj4 = c.obj();
cout
cout
rc = collection.insert ( obj4 ) ;
}
if ( rc!=SDB_OK )
{
cout
free(buf);
goto error ;
}
free(buf);
插入后,经查询内容:
{ "_id": { "$oid": "551b9018135557d990fda145" }, "cardbin": "621020", "udfcode": 8004, "currcardseq": 369, "currcertno": 369, "BINData": { "$binary": "/xxxxxxxxxx", "$type": "0" } }
再请教,通过C++程序的API如何取出该部分的二进制内容?