2012-04-18 2 views
3

Учитывая входной поток, строку для имени файла и строку для пути, как сохранить файл в GridFS с помощью Java? Сейчас она у меня экономия без пути:Сохранить файл в GridFS с заданным путем

public ObjectId saveFile(InputStream inputStream, String filename, String folder) { 
    GridFSInputFile gInputFile = gridfs.createFile(inputStream, filename); 
    gInputFile.save(); 
    return ObjectId.massageToObjectId(gInputFile.getId()); 
} 

ответ

2

GridFS не хранит файлы в виде структуры как иерархии файловой системы. Таким образом, нет никакого пути, связанного с сохраненными файлами. Но вы можете добавить поле пути вручную.

public ObjectId saveFile(InputStream inputStream, String filename, String folder) { 
    GridFSInputFile gInputFile = gridfs.createFile(inputStream, filename); 
    gInputFile.put("path", folder); 
    gInputFile.save(); 
    return ObjectId.massageToObjectId(gInputFile.getId()); 
} 

Теперь все файлы будут иметь атрибут «путь».

Смежные вопросы