テキストだけでなくMongoDBデータベースに画像を保存するにはどうしたらいいですか? MongoDBデータベースに画像の配列を作成できますか?動画でも同じことが可能ですか?MongoDBデータベースに画像を保存
答えて
このようなバイナリデータの保存の詳細については、GridFSのドキュメントをご覧ください。
特定の言語のサポートは、画面の下部にリンクする必要があります。
"あなたはいつも16メガバイト以上のファイルを格納するためGridFSを使用する必要があります" - When should I use GridFS?
MongoDBのBSON documentsは16 メガバイトでキャップされています。したがって、ファイルの配列の合計サイズがそれより小さい場合は、BinDataデータ型を使用してドキュメントに直接格納できます。
動画、画像、PDF、スプレッドシートなど - 問題はありませんが、すべて同じ扱いです。適切なコンテンツタイプヘッダーを返すことはアプリケーションに任されます。
詳しくはGridFS documentationをご覧ください。
あなたはこれを試すことができます:
String newFileName = "my-image";
File imageFile = new File("https://stackoverflow.com/users/victor/images/image.png");
GridFS gfsPhoto = new GridFS(db, "photo");
GridFSInputFile gfsFile = gfsPhoto.createFile(imageFile);
gfsFile.setFilename(newFileName);
gfsFile.save();
http://blog.mongodb.org/post/183689081/storing-large-objects-and-files-in-mongodb
はマングース・ファイルと呼ばれるNPMで利用可能なマングースのプラグインがあります。ファイルアップロードのためにMongooseスキーマにファイルフィールドを追加することができます。私はそれを一度も使ったことはありませんが、役に立つと分かるかもしれません。 イメージが非常に小さい場合、Base64でエンコードして文字列をデータベースに保存できます。
Storing some small (under 1MB) files with MongoDB in NodeJS WITHOUT GridFS
あなたはMongoDBの内のファイル/画像を保存するために、任意のスクリプト言語を使用している場合は、ビンのデータ型を使用することができます。 Binデータは、小さなサイズのファイルを格納するために開発されています。
スクリプト言語のドライバを参照してください。 PHPでは、hereをクリックします。あなたのビューで
var upload = multer({dest: "./uploads"});
var mongo = require('mongodb');
var Grid = require("gridfs-stream");
Grid.mongo = mongo;
router.post('/:id', upload.array('photos', 200), function(req, res, next){
gfs = Grid(db);
var ss = req.files;
for(var j=0; j<ss.length; j++){
var originalName = ss[j].originalname;
var filename = ss[j].filename;
var writestream = gfs.createWriteStream({
filename: originalName
});
fs.createReadStream("./uploads/" + filename).pipe(writestream);
}
});
:このコードで
<form action="/" method="post" enctype="multipart/form-data">
<input type="file" name="photos">
あなたはMongoDBの中で、単一および複数の画像を追加することができます。 nodejsバックエンドで画像を保存する
ベストウェイ - プロフェッショナル
var async = require('async');
var accessPath = path.join(__dirname, "../uploadLocation");
var folderName = new Date().getTime();
async.auto({
makeDir: function(next, results) {
makeDir(accessPath, folderName, next);
},
writeFile: ['makeDir', function(next, results) {
writeFile(accessPath, folderName, req.body.user.ImgData, req.body.user.email, next);
}],
}, function(err, success) {
if (err) {
console.log("error occurs while saving image")
} else {
console.log("success", success)
}
});
var makeDir = function(accessPath, folderName, next) {
try {
console.log("accessPath inside makeDir", accessPath, folderName)
fs.mkdirSync(accessPath + "/upload/user/" + folderName);
next(null, "done")
} catch (e) {
console.log("error in creating folder");
next(e, "Err")
}
}
var writeFile = function(accessPath, folderName, ImgData, email, next) {
var userImgName = email + ".jpg";
fs.writeFile(accessPath + "/upload/user/" + folderName + "/" + userImgName, ImgData, function(err, success) {
if (err) {
next(e, "Err")
} else {
console.log("success write file");
next(null, null);
}
});
}
- 1. 画像をデータベースに保存
- 2. 画像をMeteorCamera.getPictureをmongodbに保存
- 3. MongoDB GridFSに画像を保存する
- 4. 画像を保存する:MongoDbとファイルシステム
- 5. 画像をsqliteデータベースに保存
- 6. Springブートでデータベースに画像を保存
- 7. Sitecore - Coreデータベースに画像を保存
- 8. SQLiteデータベースに画像を保存する
- 9. データベースに保存され、画像
- 10. 画像ボックスの画像をデータベースに保存
- 11. 画像ファイルを保存するSQLデータベース
- 12. Django:画像データベースを保存中
- 13. 画像のパスを保存したデータベースの画像を表示
- 14. NodeJS&Mongodbにプロフィール画像を保存するには?
- 15. ノードgm(グラフィックマジック)を使ってmongodbに画像ファイルを保存
- 16. mongodbにファイルや画像のURLを保存する方法は?
- 17. MongoDbに保存されている画像を表示する
- 18. html/javascript/mongodbでサーバーに画像を保存
- 19. 保存画像
- 20. 保存画像
- 21. 保存画像
- 22. 保存画像
- 23. ギャラリーに画像を保存
- 24. 画像をレルムデータベースに保存
- 25. mysqlに画像を保存
- 26. ギャラリーに画像を保存
- 27. 画像をコアデータに保存
- 28. サーバーに画像を保存
- 29. ヘッダーに画像を保存
- 30. ファイルシステムに画像を保存
GridFSを推奨ドキュメント> 16メガバイトのためです。すべてのバイナリデータがこのように大きいわけではありません。その制限を超えることができないこと以外に、BinData型の代わりにGridFSを使用することで他にも利点がありますか? –
動画は16MBを超える傾向がありますので、この回答はおそらく妥当です。しかし、これを言及する必要があります。 – Chanoch