Dengan kemajuan berterusan dan pembangunan teknologi Internet, perkongsian fail telah menjadi keperluan yang sangat biasa. Walau bagaimanapun, apabila melaksanakan perkongsian fail, beberapa kaedah tradisional tidak dapat memenuhi sepenuhnya keperluan orang yang semakin meningkat. Oleh itu, orang ramai mula beralih kepada beberapa teknologi baharu untuk mencapai perkongsian fail. Antaranya, NodeJs adalah pilihan yang sangat popular.
Dalam artikel ini, kami akan meneroka cara menggunakan NodeJs untuk mencapai perkongsian fail. Kami akan membahagikannya kepada bahagian berikut:
1. Pengenalan kepada NodeJs
NodeJs ialah persekitaran berjalan JavaScript berdasarkan enjin Chrome V8. Ia menggunakan model I/O yang dipacu peristiwa, tidak menyekat, menjadikannya ideal untuk membina aplikasi rangkaian berprestasi tinggi dan boleh skala. Kerana ciri-ciri inilah ramai pembangun memilih untuk menggunakan NodeJs untuk melaksanakan projek mereka.
2. Keperluan untuk perkongsian fail
Dalam kehidupan seharian, terdapat banyak tempat di mana kita perlu berkongsi fail. Contohnya:
3. Gunakan NodeJs untuk melaksanakan perkongsian fail
Dalam melaksanakan perkongsian fail, kita perlu menggunakan beberapa modul NodeJs. Yang pertama ialah modul fs, yang boleh membantu kami melaksanakan membaca dan menulis fail; yang kedua ialah modul http, yang boleh membantu kami melaksanakan perkhidmatan Web dan akhirnya modul socket.io, yang boleh membantu kami melaksanakan komunikasi WebSocket;
Di bawah, kami akan membahagikannya kepada langkah berikut untuk menggunakan NodeJs untuk melaksanakan perkongsian fail:
Buat perkhidmatan WebKita boleh menggunakan modul http NodeJs untuk mencipta pelayan Web, kodnya ialah seperti berikut:
const http = require('http'); const server = http.createServer((req, res) => { // ... }); server.listen(8080);
Dalam kod di atas, kami mencipta perkhidmatan Web bernama pelayan dan mengikatnya ke port 8080.
(2) Gunakan WebSocket untuk mewujudkan sambungan yang panjang
Untuk mencapai muat naik fail masa nyata, kita perlu menggunakan WebSocket untuk mewujudkan sambungan yang panjang. Komunikasi WebSocket boleh dilaksanakan menggunakan modul socket.io. Kodnya adalah seperti berikut:
const io = require('socket.io')(server); io.on('connection', socket => { // ... });
Dalam kod di atas, kami menggunakan modul socket.io untuk menghantar objek io ke perkhidmatan web yang kami cipta dan melakukan beberapa operasi semasa membuat sambungan.
(3) Laksanakan fungsi muat naik fail
Selepas mewujudkan perkhidmatan Web dan sambungan panjang WebSocket, kami perlu melaksanakan fungsi muat naik fail. Anda boleh menggunakan modul fs untuk membaca dan menulis fail, dan modul socket.io untuk memindahkan data fail. Kodnya adalah seperti berikut:
const fs = require('fs'); io.on('connection', socket => { socket.on('file', (data, fn) => { const {name, size} = data; const file = fs.createWriteStream(`./upload/${name}`); socket.on('data', chunk => { file.write(chunk); }); socket.on('end', () => { file.end(); fn(); }); }); });
Dalam kod di atas, kami menulis kaedah muat naik fail dan mendengar data pelanggan dan peristiwa tamat. Apabila pelanggan memuat naik data fail, kami menulis data ke fail. Apabila pelanggan selesai memuat naik, kami menutup fail dan memanggil fungsi panggil balik fn.
4. Aplikasi Praktikal
Sekarang kami telah melaksanakan fungsi perkongsian fail menggunakan NodeJs, kami boleh menggunakannya pada senario sebenar. Contohnya:
Dalam LAN dalaman syarikat, anda boleh menggunakan NodeJs untuk membina pelayan supaya semua pekerja boleh memuat naik dan memuat turun fail yang diperlukan oleh syarikat.Atas ialah kandungan terperinci Nodejs melaksanakan perkongsian fail. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!