我得到了解决方案,实际上问题是块大小,我无法设置文件的块大小,默认情况下,块大小小于1 mb,
现在,我将这一行添加到代码gfsFile中。setChunkSize(uploadVideoFile.length());而且工作正常。
public static void saveVideoIntoMongo(File uploadVideoFile, String videoFilePath, String newVideoFileName)
throws IOException {
LOG.info("Entry :: saveVideoIntoMongo");
LOG.info("videoFilePath-->" + videoFilePath);
LOG.info("newVideoFileName-->" + newVideoFileName);
LOG.info("uploadVideoFile-->" + uploadVideoFile);
DB db = getMongoDBInstance("videoDb");// later on take it from the properties file instead of hardcoding
GridFS gfsPhoto = getGridFSForFiles(db, "video");
if (!("").equals(newVideoFileName)) {
GridFSInputFile gfsFile = gfsPhoto.createFile(uploadVideoFile);
gfsFile.setChunkSize(uploadVideoFile.length());//setting chunkSize
gfsFile.setFilename(newVideoFileName);
gfsFile.save();
}
LOG.info("Exit :: saveVideoIntoMongo");
}