fetching files renders invalid blob
- 主要言語
- JavaScript
- スター
- 5.7k
- フォーク
- 204
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
How it should be
```js
let e = await fetch('https://i.imgur.com/4AiXzf8.jpg')
// Response { type: "cors", url: "https://i.imgur.com/4AiXzf8.jpg", redirected: false, status: 200, ok: true, statusText: "OK", headers: // Headers, body: ReadableStream, bodyUsed: false }
await e.blob()
// Blob { size: 87363, type: "image/jpeg" }
```
How it is with unfetch
```js
let e = await fetch('https://i.imgur.com/4AiXzf8.jpg')
// Object { ok: true, statusText: "OK", status: 200, url: "https://i.imgur.com/4AiXzf8.jpg", text: text(), json: json(), blob: blob(), clone: a(), headers: {…} }
await e.blob()
// Blob { size: 156997, type: "" }
```
Note how the blob's size is different and the type is missing.
That can also be confirmed by using [`FileReader.readAsDataURL()`](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL) on the generated blob, the resulting file is invalid and cannot be opened.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず issue の fetch と blob の例を再現し、次に unfetch の blob 処理と FileReader.readAsDataURL() の結果を調べます。生成された blob がレスポンスのバイト列と image/jpeg タイプを保持し、生成された data URL が有効な画像として開ければ完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript
- 領域
- api
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 42/100