テキストだけでなく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. MongoDB GridFSに画像を保存する
- 3. 画像を保存する:MongoDbとファイルシステム
- 4. Sitecore - Coreデータベースに画像を保存
- 5. 画像をsqliteデータベースに保存
- 6. SQLiteデータベースに画像を保存する
- 7. データベースに保存され、画像
- 8. 画像ボックスの画像をデータベースに保存
- 9. 画像ファイルを保存するSQLデータベース
- 10. 画像のパスを保存したデータベースの画像を表示
- 11. html/javascript/mongodbでサーバーに画像を保存
- 12. 保存画像
- 13. 保存画像
- 14. ギャラリーに画像を保存
- 15. サーバーに画像を保存
- 16. Mongodbの画像をNodejsで保存する
- 17. データベースに画像を保存するにはandroid
- 18. データベースに画像を保存するには
- 19. PHPでデータベースに画像ファイルを保存するには?
- 20. 保存画像アンドロイド
- 21. 画像のパスをデータベースに保存する
- 22. 画像ファイルのパスをsqliteデータベースに保存する
- 23. windows phone 7データベースに画像と音声を保存する
- 24. インターネットエクスプローラでデータベースに保存された画像を開く
- 25. MVC Symfony2データベースにBLOB形式で画像を保存
- 26. データベースに画像を保存する方法
- 27. mysqlのデータベースに画像とテキストを保存する方法
- 28. React-Native/Realm:データベースに画像を保存する方法は?
- 29. DataGridViewImageからデータベースに画像を保存する
- 30. Android:データベースに画像への参照を保存する
GridFSを推奨ドキュメント> 16メガバイトのためです。すべてのバイナリデータがこのように大きいわけではありません。その制限を超えることができないこと以外に、BinData型の代わりにGridFSを使用することで他にも利点がありますか? –
動画は16MBを超える傾向がありますので、この回答はおそらく妥当です。しかし、これを言及する必要があります。 – Chanoch