Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Tukar gambar rangkaian nodejs kepada strim gambar
Dalam aplikasi web moden, terdapat juga beberapa laman web dan aplikasi lama yang masih menggunakan kaedah tradisional untuk menukar imej pada rangkaian kepada storan dan pemprosesan imej tempatan. Walau bagaimanapun, dalam persekitaran Node.js, kami boleh menyimpan imej rangkaian terus pada pelayan dengan mudah dengan menukarnya kepada aliran imej.
Dalam artikel ini, kita akan membincangkan cara menggunakan Node.js untuk menukar imej rangkaian kepada strim imej dan menyimpannya dalam fail atau pangkalan data.
Pertama, kami perlu memasang beberapa modul Node.js untuk mengendalikan proses penukaran imej rangkaian dan strim imej. Berikut ialah senarai modul yang perlu dipasang:
Gunakan arahan npm untuk memasang kedua-dua perpustakaan ini:
npm install request sharp
Selepas pemasangan yang begitu mudah, kita boleh mula menggunakan dua modul Node.js ini untuk menukar imej rangkaian kepada Strim gambar. Berikut ialah kod sampel:
const request = require('request'); const sharp = require('sharp'); const url = 'https://yourwebsite.com/image.jpg'; const options = { url: url, encoding: null }; request.get(options, (err, response, buffer) => { if (err) throw err; sharp(buffer) .png() .toBuffer((err, data, info) => { if (err) throw err; // 在此处,我们可以将data写入文件或数据库 // 例如,如果要将图片存储到文件夹中: // fs.writeFileSync('test.png', data); // 或者,如果要将图片存储到MongoDB数据库中: // const collection = db.collection('images'); // collection.insertOne({ data: data }); }); });
Dalam kod sampel ini, kami mula-mula menggunakan perpustakaan permintaan untuk memuatkan data imej daripada URL yang ditentukan. Kami menentukan encoding
sebagai null
kerana kami perlu mendapatkan data imej binari mentah dan bukannya menukarnya kepada format teks atau JSON. Selepas mendapatkan data imej, kami menggunakan modul tajam untuk menukarnya kepada strim format PNG supaya kami boleh menyimpan atau memprosesnya dalam operasi seterusnya.
Dalam kod contoh di atas, kita boleh menulis strim ke fail atau pangkalan data MongoDB. Untuk menulis data strim ke fail, anda boleh menggunakan fungsi fs
modul fs.writeFileSync()
untuk mencipta fail baharu dan menulis data strim. Untuk menulis data penstriman ke dalam pangkalan data MongoDB, mula-mula kita perlu membuat sambungan MongoDB, kemudian pilih koleksi (seperti mycollection
), dan kemudian panggil fungsi insertOne()
pangkalan data untuk menulis data ke pangkalan data. Data di sini ialah data objek contoh Buffer yang dijana oleh strim di atas.
Kini anda tahu cara menukar imej rangkaian kepada strim imej dan menyimpan atau memprosesnya dalam persekitaran Node.js. Ini sangat berguna untuk aplikasi web yang perlu memproses imej rangkaian. Perlu diingat bahawa anda boleh melakukan operasi lain pada strim imej, seperti pemampatan, penskalaan atau putaran, sebelum menukarnya kepada format lain.
Atas ialah kandungan terperinci Tukar gambar rangkaian nodejs kepada strim gambar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!