7

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.

risposta

1

Ho dovuto installare sia GraphicsMagick che ImageMagick allo stesso tempo.