我正在做一个项目来创建一个数据库应用程序,我需要在数据库中存储一些文件,之后我需要将这些文件检索回本地系统。我正在使用mongoDB的C ++驱动程序。监视服务器上的文件工作正常,当我尝试检索它时,只接收文本文件,但是当我使用图像,.pdf文件或其他文件格式化文件已损坏。任何人都可以告诉我如何在没有任何损坏的情况下将文件保存在本地系统上。感谢
代码:
std::fstream out;
const char* gridfilename="Penguins.jpg";
const char* filename="Temp.jpg";
out.open(filename, ios::out);
DBClientConnection c;
c.connect("localhost");
cout << "connected ok" <<endl;
GridFS gfs = GridFS(c, "Test", "DB");
GridFile gf = gfs.findFile(gridfilename);
if (true != gf.exists()) {
cerr << "There is no file like " << gridfilename << endl;
}
gf.write(out);
out.close();