やりたい事
ローカルに保存しているPNGファイルを一旦テキスト形式に変換してテキストファイル内に保存
その後、使う際にテキストファイル内の上記データを取得して、PNGに戻したいです。
試した事
手探りで書いていますが、中々うまくいきません。
import fs from "fs"; const png = fs.readFileSync("sample.png"); const asciiPng = Buffer.from(new Uint8Array(png.buffer)).toString("ascii"); fs.writeFileSync("sample.txt", asciiPng);
const png = fs.readFileSync("sample.txt").toString(); const u8 = new Uint8Array(utf8Png); fs.writeFileSync("test.png", u8.buffer);
1つ目のコードはエラーはなく動作はします。
2つめのコードは以下エラーが発生します。
TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received an instance of ArrayBuffer at Object.writeFileSync (node:fs:2146:5) at file:///C:/app/png_chunk_sample/app.js:12:4 at ModuleJob.run (node:internal/modules/esm/module_job:183:25) at async Loader.import (node:internal/modules/esm/loader:178:24) at async Object.loadESM (node:internal/process/esm_loader:68:5) at async handleMainPromise (node:internal/modules/run_main:63:12) { code: 'ERR_INVALID_ARG_TYPE' }
これを回避してpngとして保存するにはどうするべきでしょうか
(また、そもそもこの方法でpngとして復元することは可能でしょうか)
なぜテキスト化したいのでしょうか? 他のテキストのデータと混在させたいのでしょうか?
回答2件
あなたの回答
tips
プレビュー