Como posso armazenar imagens numa base de dados MongoDB em vez de apenas texto? Posso criar um conjunto de imagens numa base de dados MongoDB? Será possível fazer o mesmo para vídeos?
"Deve usar sempre GridFS para armazenar ficheiros maiores que 16MB" - Quando devo usar GridFS?
MongoDB documentos BSON estão limitados a 16 MB. Assim, se o tamanho total do seu conjunto de ficheiros for inferior a isso, pode armazená-los directamente no seu documento utilizando o tipo de dados BinData.
Vídeos, imagens, PDFs, folhas de cálculo, etc. - não interessa, são todos tratados da mesma forma. It's até à sua candidatura para devolver um cabeçalho de tipo de conteúdo apropriado para os exibir.
Consulte a documentação GridFS para mais detalhes.
Pode experimentar este:
String newFileName = "my-image";
File imageFile = new File("/users/victor/images/image.png");
GridFS gfsPhoto = new GridFS(db, "photo");
GridFSInputFile gfsFile = gfsPhoto.createFile(imageFile);
gfsFile.setFilename(newFileName);
gfsFile.save();