[AdonisJs] Amazon S3に保存したファイルをバイナリのまま返す方法

Adonis DriveのS3の実装の問題

AdonisJSはデフォルトでAmazon S3をサポートしていてそれはとても素晴らしい。 ただ以下のように取得しようとするとバイナリが壊れて困っていた。

const file = await Drive.disk('s3').get('mofu.jpg')

どうも実装を見ると取得したバイナリを何故かBuffer.string()を呼び出して返してる。どうして。

生のバイナリが欲しい場合はgetObject()を使うようにしないといけない。

const obj = await Drive.disk('s3').getObject('mofu.jpg')
const file = obj.Body

同じDriveでローカルストレージから取得する場合はDrive.get()でバイナリそのまま取れるのに……。実装をあわせて欲しい。


タグ: JavaScript AdonisJs
https://www.dragonforest.jp/posts/5
公開: 2019-06-27 03:10:33 | 更新: 2019-06-27 15:12:15

<< 戻る