bb-feathers-blob
v1.0.6
Published
Feathers blob service
Downloads
3
Maintainers
Readme
feathers-blob
Feathers
abstract blob store
service
Installation
npm install feathers-blob --save
Also install a abstract-blob-store
compatible module.
API
import BlobService from 'feathers-blob'
blobService = BlobService(options)
options.Model
is an instantiated interface that implements theabstract-blob-store
APIoptions.id
is a string 'key' for the blob identifier.
blobService.create(body, params)
where input body
is an object with key uri
pointing to data URI of the blob.
returns output 'data' of the form:
{
[this.id]: `${hash(content)}.${extension(contentType)}`,
uri: body.uri,
size: length(content)
}
blobService.get(id, params)
returns output data
of the same form as create
.
blobService.remove(id, params)
Example
import { getBase64DataURI } from 'dauria';
import AWS from 'aws-sdk';
import S3BlobStore from 's3-blob-store';
import BlobService from 'feathers-blob';
const s3 = new AWS.S3({
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
});
const blobStore = S3BlobStore({
client: s3,
bucket: 'feathers-blob'
});
const blobService = service({
Model: blobStore
});
const blob = {
uri: getBase64DataURI(new Buffer('hello world'), 'text/plain')
}
blobService.create(blob).then(function (result) {
console.log('Stored blob with id', result.id);
}).catch(err => {
console.error(err);
});
For a more complete example, see examples/app which can be run with npm run example
.
Changelog
1.0.0
- Generalize using
abstract-blob-store
0.1.0
- Initial release for
AWS.S3
usingaws-sdk
License
Copyright (c) 2016
Licensed under the MIT license.