1.0.1 • Published 10 years ago
feathers-blob-store v1.0.1
feathers-blob-store
Feathers
abstract blob storeservice
Installation
npm install feathers-blob-store --saveAlso install a abstract-blob-store compatible module.
API
import BlobStore from 'feathers-blob-store'
blobStore = BlobStore(options)
options.Modelis an instantiated interface [that implements theabstract-blob-storeAPI)options.idis a string 'key' for the blob identifier.
blobStore.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)
}blobStore.get(id, params)
returns output data of the same form as create.
blobStore.remove(id, params)
Example
import { getBase64DataURI } from 'dauria';
import BlobStore from 'feathers-blob-store';
import AWS from 'aws-sdk';
import S3BlobStore from 's3-blob-store';
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-store'
});
const blobService = service({
Model: blobStore
});
const blob = {
uri: getBase64DataURI(new Buffer('hello world'), 'text/plain')
}
app.service('blobs').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.S3usingaws-sdk
License
Copyright (c) 2016
Licensed under the MIT license.
