[MONGODB] MongoDB를 데이터베이스에 저장 이미지
MONGODBMongoDB를 데이터베이스에 저장 이미지
어떻게 텍스트 만이 아닌 MongoDB를 데이터베이스에 이미지를 저장할 수 있습니까? 나는 MongoDB의 데이터베이스에서 이미지의 배열을 만들 수 있습니까? 이 동영상에 대한 동일한 작업을 수행 할 수있을 것인가?
해결법
-
==============================
1.같은 바이너리 데이터를 저장에 대한 자세한 내용은 GridFS의 문서를 참조하십시오.
같은 바이너리 데이터를 저장에 대한 자세한 내용은 GridFS의 문서를 참조하십시오.
특정 언어에 대한 지원은 화면의 하단에 연결해야합니다.
-
==============================
2.MongoDB를 BSON 문서는 16메가바이트에 덮인된다. 파일의 배열의 전체 크기가보다 작은 그렇다면, 당신은 BinData 데이터 형식을 사용하여 문서에 직접 저장할 수 있습니다.
MongoDB를 BSON 문서는 16메가바이트에 덮인된다. 파일의 배열의 전체 크기가보다 작은 그렇다면, 당신은 BinData 데이터 형식을 사용하여 문서에 직접 저장할 수 있습니다.
등의 동영상, 이미지, PDF 파일, 스프레드 시트, - 그것은 문제, 그들은 모두 동일하게 취급하지 않습니다. 그것은을 표시하는 적절한 콘텐츠 형식 헤더를 반환하는 응용 프로그램까지입니다.
자세한 내용은 GridFS 문서를 확인하십시오.
-
==============================
3.이 일을 시도 할 수 있습니다 :
이 일을 시도 할 수 있습니다 :
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();
-
==============================
4.http://blog.mongodb.org/post/183689081/storing-large-objects-and-files-in-mongodb
http://blog.mongodb.org/post/183689081/storing-large-objects-and-files-in-mongodb
NPM 볼 수는 몽구스 - 파일이라는 플러그인 몽구스가있다. 그것은 당신이 파일 업로드에 대한 몽구스 스키마에 파일 필드를 추가 할 수 있습니다. 나는 그것을 사용한 적이 있지만 유용 할 수 있습니다. 이미지가 당신이 할 수 매우 작은 경우 Base64로 그들을 인코딩하고 데이터베이스에 문자열 저장.
GridFS없이 NodeJS에서 MongoDB를 가진 파일 (1메가바이트에서) 몇 가지 작은 저장
-
==============================
5.당신이 MongoDB에있는 파일 / 이미지를 저장하는 스크립팅 언어를 사용하는 경우는 빈 데이터 유형을 사용할 수 있습니다. 빈 데이터 파일의 작은 크기를 저장하기 위해 개발되고있다.
당신이 MongoDB에있는 파일 / 이미지를 저장하는 스크립팅 언어를 사용하는 경우는 빈 데이터 유형을 사용할 수 있습니다. 빈 데이터 파일의 작은 크기를 저장하기 위해 개발되고있다.
스크립트 언어 드라이버를 참조하십시오. PHP을 보려면 여기를 클릭하십시오.
-
==============================
6.라이브러리 아래에 설치
라이브러리 아래에 설치
var express = require(‘express’); var fs = require(‘fs’); var mongoose = require(‘mongoose’); var Schema = mongoose.Schema; var multer = require('multer');
당신의 MongoDB를 연결 :
mongoose.connect(‘url_here’);
데이터베이스 스키마 정의
var Item = new ItemSchema( { img: { data: Buffer, contentType: String } } ); var Item = mongoose.model('Clothes',ItemSchema);
미들웨어 Multer를 사용하여 서버 측에 사진을 업로드합니다.
app.use(multer({ dest: ‘./uploads/’, rename: function (fieldname, filename) { return filename; }, }));
우리의 DB에 게시 REQ
app.post(‘/api/photo’,function(req,res){ var newItem = new Item(); newItem.img.data = fs.readFileSync(req.files.userPhoto.path) newItem.img.contentType = ‘image/png’; newItem.save(); });
-
==============================
7.
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의 여러 이미지뿐만 아니라 하나 추가 할 수 있습니다.
-
==============================
8.이것은 나를 위해 일한
이것은 나를 위해 일한
from https://stackoverflow.com/questions/4796914/store-images-in-a-mongodb-database by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB를 / 몽구스 특정 날짜에 쿼리? (0) | 2019.12.03 |
---|---|
[MONGODB] 어떻게 고정 표시기-작성을 사용하여 몽고 데이터베이스를 씨앗합니까? (0) | 2019.12.03 |
[MONGODB] pymongo와 정규식 쿼리 수행 (0) | 2019.12.03 |
[MONGODB] CSV 가져 오기에 mongoimport를 사용하는 방법 (0) | 2019.12.03 |
[MONGODB] MySQL은 MongoDB의 대 (1000)는 읽기 (0) | 2019.12.03 |