2017-02-13 11 views

答えて

0

キーストーンのTypes.S3Fileタイプには、独自のファイル名を決定するためにカスタム関数に設定できるfilenameオプションがあります。 Documentation Link

{ 
    type: Types.S3File, 
    filename: function(item, filename) { 
     // prefix file name with object id 
     return item._id + '-' + filename; 
    } 
} 

item現在の項目のすべてのプロパティを持っているので、その値が存在する場合はitem.nameにそれを設定することができます。

+0

4.0.0-beta 5で動作していません – mikeso

+0

キーストーンはキーストーン4で集中型の「Types.File」タイプに移行しました。[Amazon S3ストレージアダプタ](https://github.com/)を使用する必要があります。 keystonejs/keystone-storage-adapter-s3)を使用してスキーマを作成します。しかし、 'generateFilename'関数はキーストーン4で更新される項目への参照を受け取らないように見えます。 [もっと読む](https://github.com/keystonejs/keystone/wiki/File-Fields-Upgrade-Guide) –

+0

はい、私はs3 adpterを使用していて、動作しています。しかし、私は別の項目のために異なるサブディレクトリを持っていると思います。どうやってするの? s3:{ パス: 'uploads'、 ヘッダー:{ 'x-amz-acl': 'public-read'、 }、 }これは/ uploadにアップロードされ、/ upload/item_id/xxxが必要です – mikeso

関連する問題