2012-04-18 12 views
3

入力ストリーム、ファイル名の文字列、パスの文字列Javaを使用してファイルをGridFSに格納する方法を教えてください。現在、私はパスなしで保存しています。指定されたパスで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()); 
} 

ここで、すべてのファイルに 'path'属性があります。

関連する問題