Closed3
TaruiのwebviewでTypeError: ReadableStreamBYOBReader needs a ReadableByteStreamControllerが発生(画像処理)

Mac上でTauri製webviewアプリを動かして、画像アップロードしようとした際に表題のエラーが発生(file-type使用)。
fileTypeFromStreamを使ってmime_typeを取得しようとするとエラーが発生する模様。
TypeError: ReadableStreamBYOBReader needs a ReadableByteStreamController
以下を使うと解消した
fileTypeFromBuffer(new Uint8Array(buffer));

どうやら、safariではReadableStreamBYOBReaderがサポートされていないため、file-typeのfileTypeFromStreamが内部で使用しているため、エラーが発生していた模様。

fileTypeFromStreamの代わりにfileTypeFromBufferを使って、画像ファイルをbuffer形式に変換して渡すことでエラー回避できた。
const buffer = await response.arrayBuffer();
const fileType = await fileTypeFromBuffer(new Uint8Array(buffer));
このスクラップは2ヶ月前にクローズされました
ログインするとコメントできます