4

入力ストリーム、ファイル名の文字列、パスの文字列が与えられた場合、Java を使用して GridFS にファイルを保存するにはどうすればよいですか? 現在、パスなしで保存しています:

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

1 に答える 1

3

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」属性が割り当てられます。

于 2013-02-11T04:42:51.027 に答える