Comments (1)
found this is easily done by adding the fields to the schema:
@ https://github.com/keystonejs/keystone-storage-adapter-s3/blob/master/index.js#L65
S3Adapter.SCHEMA_FIELD_DEFAULTS = {
filename: true,
bucket: false,
path: false,
etag: false,
width:false,
height:false,
wUnits:false,
hUnits:false
};
then I added a post save method:
then I implemented the updates with:
const Probe = require('probe-image-size');
Content.schema.post('save',(doc,next)=>{
if (doc.image && doc.image.url) {
Probe(doc.image.url, function (err, result) {
if (err) console.log(err);
console.log(doc.image, result);
doc.image.width = result.width;
doc.image.height = result.height;
doc.image.wUnits = result.wUnits;
doc.image.hUnits = result.hUnits;
console.log('UPDATING IMAGE', doc.image);
return keystone.list('Content').model.update({'_id': doc._id}, {image: doc.image}).exec();
});
}
});
from keystone-storage-adapter-s3.
Related Issues (20)
- No option to use original filename HOT 5
- No support for IAM roles HOT 2
- Multiple images? HOT 4
- Cloudfront support HOT 2
- Problem with updates and deletes HOT 6
- failure to prefix path with `/` results in leaking local directory info into s3 url HOT 2
- pre:upload option is gone? HOT 1
- Compatibility with latest Keystone version HOT 3
- Note field option
- S3 Multiple Uploads HOT 1
- ACL: "public-read" HOT 9
- Define endpoint to use other s3 compatible object storage HOT 1
- Public URL is incorrectly generated? HOT 1
- uploads added to /tmp on server HOT 1
- Digital Ocean Spaces support? HOT 1
- `encodeSpecialCharacters()` behaviour
- Dynamic path HOT 1
- Original Filename HOT 4
- "Field errors" HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from keystone-storage-adapter-s3.