README
GridFS Filesystem Adapter
GridFS adapter for receiving upstreams. Particularly useful for handling streaming multipart file uploads from the Skipper body parser.
========================================
Installation
$ npm install skipper-gridfs --save
Also make sure you have skipper installed as your body parser.
Skipper is installed by default in Sails v0.10.
========================================
Usage
req.file('avatar')
.upload({
adapter: require('skipper-gridfs'),
uri: 'mongodb://jimmy@j1mtr0n1xx@mongo.jimmy.com:27017/coolapp.avatar_uploads'
}, function whenDone(err, uploadedFiles) {
if (err) return res.negotiate(err);
else return res.ok({
files: uploadedFiles,
textParams: req.params.all()
});
});
For more detailed usage information and a full list of available options, see the Skipper docs, especially the section on "Uploading to GridFS".
One important adapter-specific option to note is uri
:
Option | Type | Details |
---|---|---|
uri |
((string)) | An optional parameter if you wish the enter your mongodb credentials as a URI, e.g. mongodb://username:password@localhost:27107/databasename.bucket .(Check mongo client URI syntax). |
connectOpts |
((object)) | An optional parameter if you wish the enter your mongodb connection options credentials as an object e.g. { server: { ssl: true, sslCA: 'CA_CERT', sslKey: 'SSL_KEY', sslCert: 'SSL_CERT' }, replSet: { rs_name: 'rs0', ssl:true} } (Check mongo client connection options). |
Note: Please use
uri
instead of passing in separate options forusername
,password
,host
,port
,dbname
andbucket
In addition to the regular file adapter methods, these additional methods are also available:
Method | Description |
---|---|
readLastVersion() |
Get the most recent version of a file in GridFS |
readVersion() |
Get a specific version of a file in GridFS |
These methods mimic get_last_version and get_version from pymongo's gridfs implementation.
========================================
Contributions
are welcomed :ok_hand:
See ROADMAP.md.
Also be sure to check out ROADMAP.md in the Skipper repo.
To run the tests:
$ URI=mongodb://username:password@localhost:27107/databasename.bucket npm test
========================================
License
MIT