Rumah  >  Artikel  >  hujung hadapan web  >  gumpalan nodejs ke fail

gumpalan nodejs ke fail

WBOY
WBOYasal
2023-05-11 17:03:372460semak imbas

Dalam pembangunan bahagian hadapan, kami mungkin menghadapi keperluan untuk menukar objek Blob kepada fail. Blob ialah jenis objek dalam API Web yang boleh mewakili data binari sewenang-wenangnya. Fail ialah entiti dengan atribut seperti nama fail, jenis fail, saiz fail, dll. Kami selalunya perlu menukar objek Blob kepada jenis fail melalui penyemak imbas untuk memuat naik, menyimpan dan operasi lain.

Dalam persekitaran Node.js, kami boleh menggunakan modul fs terbina dalam Node untuk melaksanakan operasi fail dan kami boleh menggunakan Penampan untuk memproses data binari. Oleh itu, kita boleh menukar objek Blob kepada fail dengan menukar objek Blob kepada Penampan, dan kemudian gunakan modul fs untuk menulis Penampan pada fail.

Langkah pelaksanaan khusus adalah seperti berikut:

  1. Dapatkan objek Blob. Kita boleh mendapatkan objek Blob melalui kod berikut:
let blob = new Blob([arrayBuffer], { type: 'image/png' });

Di sini objek Blob yang mengandungi data binari dicipta.

  1. Tukar Blob kepada Penampan. Kita boleh menukar objek Blob kepada Penampan dengan bantuan modul penimbal dalam Node.js. Kod khusus adalah seperti berikut:
const buffer = Buffer.from(await blob.arrayBuffer());

Di sini, kaedah arrayBuffer() Blob digunakan untuk mendapatkan data binari, dan kemudian menukarnya menjadi Penampan.

  1. Tulis ke fail. Menggunakan modul fs dalam Node.js, kita boleh menulis Penimbal pada fail Kod khusus adalah seperti berikut:
fs.writeFile('test.png', buffer, (err) => {
  if (err) throw err;
  console.log('The file has been saved!');
});

Di sini Penampan ditulis pada fail bernama "test.png". Jika ditulis Jika terdapat ralat dalam fail, pengecualian akan dilemparkan, jika tidak, "Fail telah disimpan!"

Kod lengkap adalah seperti berikut:

const fs = require('fs');
const fetch = require('node-fetch');

async function downloadFile(url) {
  const res = await fetch(url);
  const blob = await res.blob();
  const buffer = Buffer.from(await blob.arrayBuffer());
  fs.writeFile('test.png', buffer, (err) => {
    if (err) throw err;
    console.log('The file has been saved!');
  });
}

downloadFile('https://www.example.com/test.png');

Kod ini boleh memuat turun fail imej pada pelayan jauh ke tempatan dan menyimpannya sebagai fail "test.png".

Ringkasan:

Artikel ini memperkenalkan cara menukar objek Blob kepada fail Dalam persekitaran Node.js, kita boleh menggunakan modul Buffer dan fs untuk mencapai fungsi ini. Kaedah ini sangat berguna apabila kita perlu menukar objek Blob di bahagian hadapan kepada fail, atau apabila kita perlu memproses data binari dan menyimpannya sebagai fail dalam persekitaran Node.js.

Atas ialah kandungan terperinci gumpalan nodejs ke fail. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:nodejs penimbal kepada rentetanArtikel seterusnya:nodejs penimbal kepada rentetan