問題タブ [collectionfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
615 参照

imagemagick - CollectionFS Graphicsmagick は、より大きい場合にのみ幅のサイズを変更します

collectionfs では、次の方法で大きな画像のサイズを幅 1200px に変更し、ファイル サイズを縮小するために高さを比例させます。

たとえば、サイズが 2000x2000 の画像は、実際には 1200x1200 でアップロードされますが、ファイル サイズは大きくなります。理由を説明できますか?また、幅がたとえば 2000px を超える場合にのみ画像のサイズを変更するようにメソッドを変更するにはどうすればよいですか?

0 投票する
1 に答える
170 参照

mongodb - MeteorJS - 画像 (FS.collection) を MongoDB Collection 内の関連ドキュメントにリンクする

Meteorjs でアプリを作成しています。次のように初期化されるコレクションがあります。

対応する場所の画像も保存したい。プロジェクトに collectionFS パッケージを追加しました。次のコードは、画像の個別のコレクションを作成します。

ただし、この一連の画像を「場所」の関連ドキュメントに関連付ける方法がわかりません。または、mongo コレクションに画像を挿入するだけです。

0 投票する
1 に答える
53 参照

javascript - ループ内の値を、最初のループ実行で設定された値に設定します

私がやりたいことは、最初のループ実行によって設定された値に変数を設定することです。

背景情報として: CollectionFS を使用して、流星アプリに複数のファイルをアップロードしています。ここで、すべてのファイル (最初のファイルを除く) に、カスタム フィールドの値parentを最初に挿入されたファイルの ID に設定したいと考えています。でIDを取得しdata._idます。

私の試み:

アップロードされたファイルごとにループを使用しているdataため、最初のファイルは未定義だと思ったので、値があるかどうかを確認します。この場合もparent未定義になります。2 番目のファイルについてdataは、既に設定されているため、その値としてparent取得する必要があります。data._id

parentしかし、いつものように、これは正しく動作しませんundefined:

0 投票する
1 に答える
191 参照

javascript - グラフィックスマジックを使用した collectionFS の予期しない空の書き込みストリーム

画像の管理に CollectionFS を使用しています。gm()さらに、画像の操作にgraphicsmagickを使用しています。

ここで、既に保存されている画像をトリミングしたいと考えています。したがって、クリック イベントでは、crop() を実行するサーバー メソッドが呼び出されます。しかし、これを行った後、コレクションでsize=0正しい日付に更新された空の画像を見つけました。

私が間違っていることはわかりません。

共有.js

サーバー.js

client.js

アップデート

クリスチャンが推奨するように、writeStream は readStream のように同じにすることはできないため、writeStream に tmp ファイルを使用しています。これにより、結果が空になりました。

ただし、tmp ファイルに書き込んだ後、その内容をパブリック ストアにコピーする必要があります。それ、どうやったら出来るの?

更新2 私はこれを試しました:

0 投票する
1 に答える
92 参照

javascript - グラフィックスマジックを使用した collectionFS での同じ読み取りストリームと書き込みストリーム

を使用して画像を操作する必要がありgraphicsmagickます。

私の FSCollection は次のようになります。

私の問題は、writeStream が readStream と同じであるべきだということです。これは空の結果につながるため、これは機能しません。

0 投票する
1 に答える
39 参照

javascript - gm ストリーム用に一時的に作成されたファイルの削除

meteor アプリで画像のメインプレーションに collectionFS と gm を使用しています。一時ファイルを作成しています:

最後に、この一時ファイルを削除します。それ、どうやったら出来るの?私はストリームにあまり詳しくありません... のようなものだと思いますfs.remove(filename)

0 投票する
1 に答える
182 参照

javascript - Meteor CollectionFS コレクションは未定義ですか?

CollectionFS と GridFS を使用して、いくつかの画像をアプリにアップロードして提供しようとしています。

次の定義があります。

ImageStore.js:

ImageStorePub.js:

ImageUploadHandler.js:

これらすべてを入力した後、それらが既にサーバーフォルダーにあるという事実にもかかわらず、それらをすべてラップしてみましたif(Meteor.isServer){...}が、エラーのためにアプリがまだクラッシュしていますReferenceError: EventImages is not defined at server/route handlers/ImageUploadHandler.js:2:1

0 投票する
2 に答える
373 参照

javascript - gm: 画像の幅が 1000px を超える場合、画像のサイズを変更します

ストリームを読み取って同じファイルに書き戻す必要があるため、gminを介して画像操作を実行しようとしています。以下に示すように、一時ファイルを使用する必要があります。collectionFS

画像の幅が 1000px を超えているかどうかを確認したい。この場合、サイズを 1000px に変更する必要があります。

TypeError: Object [object Object] has no method 'pipe'残念ながら、エラーが発生したため、これは機能しません。Error: gm().stream() or gm().write() with a non-readable stream.