Cá đối của nodej

Người dùng không chỉ tiêu thụ dữ liệu, họ còn sản xuất và tải dữ liệu lên. Họ có thể gửi dữ liệu thông qua các ứng dụng như trình nhắn tin hoặc email đến người nhận cụ thể hoặc tải tệp lên mạng xã hội và nền tảng truyền dữ liệu như Facebook hoặc YouTube

Điều đó đang được nói, hầu hết mọi trang web tương tác ngày nay đều hỗ trợ tải lên tệp

Thư viện tải tệp lên

Có một số thư viện Node có sẵn trên NPM có thể đơn giản hóa quy trình xác thực và tải tệp lên máy chủ. Trong số đó, lựa chọn phổ biến nhất hiện nay là Multer, Formidable và Multiparty

Tất cả đều có phiên bản ổn định và được hỗ trợ bởi cộng đồng trực tuyến gồm các nhà phát triển mã nguồn mở

Muller là gì?

Multer là một Node phổ biến. phần mềm trung gian js được sử dụng để xử lý yêu cầu

$ npm i multer
0. Nó sử dụng busboy để phân tích bất kỳ dữ liệu nào nó nhận được thông qua biểu mẫu HTML. Điều này nâng cao đáng kể hiệu suất của nó vì mô-đun busboy không thể so sánh được khi phân tích dữ liệu biểu mẫu

Multer cung cấp cho chúng tôi quyền kiểm soát và tính linh hoạt khi xử lý yêu cầu

$ npm i multer
0 - chúng tôi nhận được thông tin chi tiết về từng tệp đã tải lên, khả năng thêm công cụ lưu trữ tùy chỉnh, xác thực tệp theo nhu cầu của chúng tôi, khả năng đặt giới hạn cho tệp đã tải lên, v.v.

Thiết lập dự án

Vì chúng tôi sẽ không lưu trữ hình ảnh của mình trong cơ sở dữ liệu mà thay vào đó là một thư mục đơn giản để ngắn gọn và đơn giản, hãy tạo một thư mục khác trong thư mục dự án của chúng tôi và đặt tên cho nó, chẳng hạn như,

$ npm i multer
2

Bây giờ, hãy cài đặt Express

$ npm i express

Và cuối cùng, hãy cài đặt Multer

$ npm i multer

Thực hiện dự án

Tại thời điểm này, chúng tôi đã sẵn sàng để viết một số mã, bắt đầu với các biểu mẫu HTML mà chúng tôi sẽ sử dụng để thu thập thông tin

Hãy bắt đầu với biểu mẫu để tải lên một tệp


    

Select your profile picture:

Và sau đó với một biểu mẫu cho phép chúng tôi tải lên nhiều tệp


    

Select multiple images:

Bạn có thể đặt các biểu mẫu này trên các trang riêng biệt hoặc trên cùng một trang. Với mục đích của hướng dẫn này, chúng nối tiếp nhau

Các biểu mẫu HTML khá đơn giản, chấp nhận

$ npm i multer
0 và định tuyến đến các chức năng phù hợp để xử lý các yêu cầu của chúng

Với các biểu mẫu của chúng tôi đã sẵn sàng, chúng tôi có thể làm việc dựa trên logic thực tế để tải lên và xác thực các tệp thông qua Express

Hãy tạo một tệp có tên

$ npm i multer
4 trong thư mục gốc của dự án và bắt đầu bằng cách nhập các mô-đun cần thiết

const express = require('express');
const multer = require('multer');
const path = require('path');

Bây giờ, hãy tạo ứng dụng Express của chúng ta

$ npm i multer
0

Và cuối cùng, hãy thiết lập cổng mà nó sẽ chạy trên đó

Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó

$ npm i multer
1

Thư mục

$ npm i multer
5 ngoài thư mục gốc chứa các tệp tĩnh mà chúng tôi muốn cung cấp, vì vậy hãy đặt nó làm thư mục tĩnh bằng cách sử dụng
$ npm i multer
6

$ npm i multer
4

Tại thời điểm này, hãy xác định vị trí lưu trữ cho hình ảnh của chúng tôi

Và cuối cùng, hãy chạy ứng dụng bằng cổng mà chúng ta đã đặt trước đó

$ npm i multer
5

Xác thực và tải lên tệp

Vì lý do bảo mật cơ bản, chúng tôi muốn xác thực các tệp trước khi tải chúng lên máy chủ của chúng tôi. Hãy chỉnh sửa tệp

$ npm i multer
4 và thêm cả hai chức năng

Ở đây, chúng tôi đã chấp nhận yêu cầu HTTP POST, trong đó thông tin hình ảnh được thể hiện. Hàm thực sự đảm nhiệm chức năng tải lên là phương thức

$ npm i multer
8

Bạn có thể đã nhận thấy tệp

$ npm i multer
9 nhưng chúng tôi chưa tạo/nhập tệp

    

Select your profile picture:

0. Vì vậy, hãy tạo một tệp mới trong thư mục dự án của chúng tôi và đặt tên là

    

Select your profile picture:

1. Ở đây chúng tôi sẽ viết một số mã được sử dụng để kiểm tra xem tệp đã gửi có phải là hình ảnh hay không

Tất nhiên, để sử dụng mô-đun này, chúng tôi sẽ phải nhập nó ở đầu tệp

$ npm i multer
4 của chúng tôi

$ npm i multer
2

Bây giờ, chúng ta có thể chạy ứng dụng của mình và xác thực rằng nó đang hoạt động bình thường

Tải lên nhiều tệp

Tải lên nhiều tệp về cơ bản giống như tải lên một tệp. Mặc dù, thay vì hàm

$ npm i multer
8, chúng tôi sử dụng hàm

    

Select your profile picture:

4

Và bây giờ, để xác thực xem mọi thứ có hoạt động chính xác không

Sự kết luận

Người dùng không chỉ sử dụng dữ liệu mà còn tạo ra dữ liệu và trong nhiều trường hợp cần tải dữ liệu đó lên máy chủ web. Họ có thể gửi dữ liệu thông qua các ứng dụng như trình nhắn tin hoặc email đến những người nhận cụ thể hoặc họ có thể tải tệp lên mạng xã hội và nền tảng truyền dữ liệu như Facebook hoặc YouTube

Trong bài viết này, chúng tôi đã sử dụng Express. js và thư viện Multer để xử lý chức năng tải lên tệp cơ bản trong một ứng dụng web đơn giản