Utilizzo Meteor-CollectionFS e GraphicsMagick 1.3.22 per ridimensionare un'immagine caricata su Amazon S3. L'immagine non viene ridimensionata, appare solo in S3 a grandezza naturale. Ho anche provato a mettere le immagini ridimensionate in un negozio separato, ma l'immagine appariva ancora a grandezza naturale nel nuovo negozio.Meteor CollectionFS: S3 GraphicsMagick non ridimensiona immagine
Ecco il mio server/collections.js
FS.debug = true;
var imageStore = new FS.Store.S3("images", {
bucket: "meteor-s3-test-data",
accessKeyId: "XXX",
folder: "images",
secretAccessKey: "XXX",
transformWrite: createThumb
});
var createThumb = function(fileObj, readStream, writeStream) {
gm(readStream, fileObj.name()).resize('100', '100').stream().pipe(writeStream);
};
ProfileCollection = new Mongo.Collection('ProfileCollection');
PhotoCollection = new FS.Collection("PhotoCollection",
{
stores: [
imageStore,
],
filter: {
maxSize: 3145728,
allow: {
contentTypes: ['image/*'],
extensions: ['png', 'PNG', 'jpg', 'JPG', 'jpeg', 'JPEG']
}
}
});
e il mio cliente/collections.js
var imageStore = new FS.Store.S3("images");
ProfileCollection = new Mongo.Collection('ProfileCollection');
PhotoCollection = new FS.Collection("PhotoCollection",
{
stores: [
imageStore,
],
filter: {
maxSize: 3145728,
allow: {
contentTypes: ['image/*'],
extensions: ['png', 'PNG', 'jpg', 'JPG', 'jpeg', 'JPEG']
}
}
});
e il mio registro FS.debug
FileWorker ADDED - calling deleteChunks for i5BrCN6rZwLoPuXy4
Meteor._wrapAsync has been renamed to Meteor.wrapAsync
TempStore is mounted on storage.gridfs
FileWorker ADDED - calling deleteChunks for 8BFzyhkoLyE4RGPES
FS.HTTP.unmount:
{}
Registered HTTP method URLs:
/cfs/files/:collectionName/:id/:filename
/cfs/files/:collectionName/:id
/cfs/files/:collectionName
token: eyJhdXRoVG9rZW4iOiJyYmx0cFd3YzUxVUlqd0JfaVhrck1RSVdmbE5wRmFKdXZFYjZvRXBWek5kIn0=
GET FILERECORD: 8BFzyhkoLyE4RGPES
Read file "me.jpg" bytes 0-14428/14429
createReadStream images
createReadStreamForFileKey images
Insertion in security = true
token: eyJhdXRoVG9rZW4iOiJyYmx0cFd3YzUxVUlqd0JfaVhrck1RSVdmbE5wRmFKdXZFYjZvRXBWek5kIn0=
HTTP PUT (update) handler received chunk: 0
GET FILERECORD: eLdMFShwMftTZAL4r
Insertion in security = true
createWriteStream _tempstore, internal: true
createWriteStreamForFileKey _tempstore
SA GridFS - DONE!
-----------STORED STREAM _tempstore
-----------CLOSE STREAM _tempstore
TempStore progress: Received 1 of 1 chunks for me.jpg
UPDATE: {"$set":{"uploadedAt":"2015-10-30T01:02:35.356Z"},"$unset":{"chunkCount":1,"chunkSum":1,"chunkSize":1}}
me.jpg was successfully uploaded. You are seeing this informational message because you enabled debugging and you have not defined any listeners for the "uploaded" event on the PhotoCollection collection.
FileWorker ADDED - calling saveCopy images for eLdMFShwMftTZAL4r
saving to store images
createWriteStream images, internal: false
createWriteStreamForFileKey images
FS.TempStore creating read stream for eLdMFShwMftTZAL4r
createReadStream _tempstore
createReadStreamForFileKey _tempstore
GRIDFS { _id: 5632c1ab10a4ad2c48853ad5, root: 'cfs_gridfs._tempstore' }
FileWorker CHANGED - calling saveCopy images for eLdMFShwMftTZAL4r
saving to store images
createWriteStream images, internal: false
createWriteStreamForFileKey images
FS.TempStore creating read stream for eLdMFShwMftTZAL4r
createReadStream _tempstore
createReadStreamForFileKey _tempstore
GRIDFS { _id: 5632c1ab10a4ad2c48853ad5, root: 'cfs_gridfs._tempstore' }
FileWorker REMOVED - removing all stored data for 8BFzyhkoLyE4RGPES
---SA REMOVE
-----------FINISH STREAM images
-----------FINISH STREAM images
-----------FINISH STREAM images
-----------FINISH STREAM images
SA S3 - DONE!!
-----------STORED STREAM images
-----------STORED STREAM images
SA images stored PhotoCollection/eLdMFShwMftTZAL4r-me.jpg
FS.File._saveChanges: images
UPDATE: {"$set":{"copies.images":{"name":"me.jpg","type":"image/jpeg","size":14429,"key":"PhotoCollection/eLdMFShwMftTZAL4r-me.jpg","updatedAt":"2015-10-30T01:02:35.790Z","createdAt":"2015-10-30T01:02:35.790Z"}}}
FS.File._saveChanges: _original
UPDATE: {"$set":{"original":{"name":"me.jpg","updatedAt":"2015-10-23T19:33:23.512Z","size":14429,"type":"image/jpeg"}}}
me.jpg was successfully saved to the images store. You are seeing this informational message because you enabled debugging and you have not defined any listeners for the "stored" event on the PhotoCollection collection.
FileWorker ADDED - calling deleteChunks for eLdMFShwMftTZAL4r
---SA REMOVE
SA S3 - DONE!!
-----------STORED STREAM images
-----------STORED STREAM images
SA images stored PhotoCollection/eLdMFShwMftTZAL4r-me.jpg
FS.File._saveChanges: images
UPDATE: {"$set":{"copies.images":{"name":"me.jpg","type":"image/jpeg","size":14429,"key":"PhotoCollection/eLdMFShwMftTZAL4r-me.jpg","updatedAt":"2015-10-30T01:02:35.884Z","createdAt":"2015-10-30T01:02:35.884Z"}}}
FS.File._saveChanges: _original
UPDATE: {"$set":{"original":{"name":"me.jpg","updatedAt":"2015-10-23T19:33:23.512Z","size":14429,"type":"image/jpeg"}}}
me.jpg was successfully saved to the images store. You are seeing this informational message because you enabled debugging and you have not defined any listeners for the "stored" event on the PhotoCollection collection.
token: eyJhdXRoVG9rZW4iOiJyYmx0cFd3YzUxVUlqd0JfaVhrck1RSVdmbE5wRmFKdXZFYjZvRXBWek5kIn0=
GET FILERECORD: eLdMFShwMftTZAL4r
Read file "me.jpg" bytes 0-14428/14429
createReadStream images
createReadStreamForFileKey images
token: eyJhdXRoVG9rZW4iOiJDMTFjd3lwUnJVU3NKRlZNUXNodWxQblJScXkyOXFxZklZcjc4bVBTT2pJIn0=
GET FILERECORD: eLdMFShwMftTZAL4r
Read file "me.jpg" bytes 0-14428/14429
createReadStream images
createReadStreamForFileKey images
^C[[email protected] udormio_build]$ [[email protected] udormio_build]$ no bundle/main.js
FileWorker ADDED - calling deleteChunks for-bash: [[email protected]: command not found
i5BrCN6rZwLoPuXy4
Meteor._wrapAsync has been renamed to Meteor.wrapAsync
TempStore is mounted on storage.gridfs
FileWorker ADDED - calling deleteChunks for 8BFzyhkoLyE4RGPES
FS.HTTP.unmount:
{}
[[email protected] udormio_build]$ FileWorker ADDED - calling deleteChunks for i5BrCN6rZwLoPuXy4
Registered HTTP method URLs:
/cfs/files/:collectionName/:id/:filename
/cfs/files/:collectionName/:id
/cfs/files/:collectionName
token: eyJhdXRoVG9rZW4iOiJyYmx0cFd3YzUxVUlqd0JfaVhrck1RSVdmbE5wRmFKdXZFYjZvRXBWek5kIn0=
GET FILERECORD: 8BFzyhkoLyE4RGPES
Read file "me.jpg" bytes 0-14428/14429
createReadStream images
createReadStreamForFileKey images
Insertion in security = true
token: eyJhdXRoVG9rZW4iOiJyYmx0cFd3YzUxVUlqd0JfaVhrck1RSVdmbE5wRmFKdXZFYjZv-bash: FileWorker: command not found
RXBWek5kIn0=
HTTP PUT (update) handler received chunk: 0
GET FILERECORD: eLdMFShwMftTZAL4r
Insertion in security = true
createWriteStream _tempstore, internal: true
createWriteStreamForFileKey _tempstore
SA GridFS - DONE!
Grazie.