JS の Blob 周り
GET リクエストで CSV のレスポンスが返ってくる(Content-Type: 'text/csv')ところの処理をやっていて、既存実装を参考に見ているんだけど、Blob 周りがよく分からなくてうにょっている。
レスポンスをモックしてテストしたいんだけど、既存実装の Blob オブジェクトに入れている response の中身をどうやって見るのかよく分からない。
↑ の記事でFileReader
を使って抽出する方法は書いてあるが、、、
const response = await api.requset(...)
const reader = new FileReader()
reader.addEventListener('loadend', e => {
console.log(e.target.result)
})
reader.readAsArrayBuffer(response)
こんな感じ。
readAsArrayBuffer
だとバイナリデータの ArrayBuffer が出てきて何も分からないし、readAsText
だと文字化けしていてよく分からない。既存実装は Excel ファイルだからかもしれない。
response
の型はすでに Blob だったので、new Blob([response], { type: 'text/csv' })
としてみたがダメだった。
うまいこと確認できる方法はないものか。
CSV のモック作るのに便利そうなサイト
モック用の JSON や CSV などのデータを大量にかつ簡単に作成できる Mockaroo を試してみた - とんちむ日記
レスポンスとなる CSV のモックを作るのに簡単そうなサイトを紹介している記事を見つけたので使ってみる。