1
Я хотел бы сохранить файл в mongoDB и получить его оттуда для его обработки. Я использовал GRIDFS хранить егоХранение и извлечение файла в MongoDB с использованием Java & GridFs
Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("HelloWorldDB");
DBCollection collection = db.getCollection("Uploaded_Exclusion_files");
GridFS gridfs = new GridFS(db, "downloads");
GridFSInputFile gfsFile = gridfs.createFile(new File(fileName));
gfsFile.setFilename("filename");
gfsFile.save();
BasicDBObject info = new BasicDBObject();
info.put("name", "MongoDB");
info.put("fileName", "filename");
info.put("rawName", "fromJSON.csv");
info.put("rawPath", "d:/fromJSON.csv");
//
// Let's store our document to MongoDB
//
collection.insert(info, WriteConcern.SAFE);
DBCursor cursor= collection.find(info);
while(cursor.hasNext()){
System.out.println("Result "+cursor.next());
}
System.out.println("Done");
но в момент извлечения файла не я знаю, что сделать это как файл и обработать его.
GridFSDBFile gfsFileOut = (GridFSDBFile) gridfs.findOne("filename");
System.out.println(gfsFileOut.getInputStream());
//##### WHAT TO DO TO GET THE FILE
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader(<#####I WANT TO PASS THE FILE TO PROCESS IT######>));
// ...
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)
br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
Я хочу, чтобы удалить часть создания файла в сервере и только хочет, чтобы хранить в MongoDB и получить его для обработки.