Bắt đầu với việc tải lên tệp trong APIs

Bài viết này đề cập đến các khái niệm cơ bản về tải tệp trong API, bao gồm Content-Type, Phương thức HTTP, Mã hóa tệp và Giới hạn kích thước tệp. Nó cũng cung cấp hướng dẫn từng bước để tải tệp trong các yêu cầu sử dụng Apidog.

Minh Triết

Minh Triết

1 tháng 9 2025

Bắt đầu với việc tải lên tệp trong APIs

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

Ngành công nghệ đã có những bước nhảy vọt lớn trong phát triển phần mềm, dù là Web hay Di động. Ngày nay, điểm nhấn chính là việc sử dụng hiệu quả các Giao diện Lập trình Ứng dụng (APIs) trong phát triển phần mềm. Mỗi tính năng mà APIs cung cấp đều mang lại một lợi thế bổ sung cho ứng dụng phần mềm. Nó cho phép các hệ thống phần mềm khác nhau tương tác và chia sẻ dữ liệu một cách dễ dàng, cải thiện hiệu quả phát triển. Ví dụ, việc tải lên tệp là một trong những tính năng quan trọng mà nhiều APIs hỗ trợ, cho phép người dùng tải lên và chia sẻ các tệp như hình ảnh, video, và tài liệu.

Bài viết này sẽ xem xét các khái niệm cơ bản về việc tải lên tệp trong APIs và sau đó cung cấp hướng dẫn từng bước trong Apidog. Apidog là một

button

Khái Niệm Cơ Bản Về Tải Lên Tệp Trong APIs

Trước khi bắt đầu tìm hiểu cách tải lên tệp trong APIs, chúng ta cần nghiên cứu một số khái niệm chính.

Content-Type

Header Content-Type trong HTTP xác định loại nội dung được gửi trong thân tin nhắn HTTP. Đây là một phần quan trọng của các yêu cầu và phản hồi HTTP vì nó cho biết máy chủ hoặc khách hàng nhận được về loại nội dung được trả về và cách xử lý nó. Loại nội dung xác định định dạng của dữ liệu gửi đi, chẳng hạn như văn bản, HTML, JSON, hoặc XML, và cho phép máy chủ phân tích nội dung một cách chính xác. application/json, text/plain, application/x-www-form-urlencoded, và multipart/form-data, là những loại nội dung phổ biến nhất. Đối với ngữ cảnh của chúng ta, chúng ta sẽ thiết lập loại nội dung là multipart/form-data, cho phép các tệp được bao gồm trong thân yêu cầu.

Khi một khách hàng gửi yêu cầu với loại nội dung multipart/form-data , thân yêu cầu được chia thành nhiều phần, mỗi phần chứa một mảnh dữ liệu. Một chuỗi biên giới trong header kiểu nội dung phân tách mỗi phần, và nó phải là duy nhất và không xuất hiện trong dữ liệu được gửi đi.

Mỗi phần của yêu cầu có thể chứa một cặp tên và giá trị hoặc một tệp. Ví dụ, một biểu mẫu HTML với một trường tải lên tệp có thể gửi yêu cầu với một phần file chứa dữ liệu nhị phân của tệp và một phần name chứa tên tệp. Các phần khác có thể chứa dữ liệu bổ sung, chẳng hạn như các trường biểu mẫu hoặc siêu dữ liệu. Định dạng của header trông như thế này:

Content-Type: multipart/form-data; 
boundary=----xyz123
Content-Type: multipart/form-data; boundary=----xyz123

Như đã thảo luận ở trên, dữ liệu được đăng tải được chia thành nhiều phần, vì vậy máy chủ cần nhận diện đâu là phần bắt đầu và kết thúc của mỗi phần. Mỗi phần trong thân yêu cầu được tách ra bởi chuỗi biên giới, đứng trước bởi hai dấu gạch ngang “--”. Phần cuối cùng được theo sau bởi hai dấu gạch ngang và chuỗi biên giới, tiếp theo là hai dấu gạch ngang nữa. Các biên giới thường bắt đầu bằng nhiều dấu gạch ngang và kết thúc bằng một hậu tố chữ và số (ví dụ, ------xyz123).

-- ----xyz123 Content-Disposition: form-data; name="file"; filename="example.png" Content-Type: image/png

<Dữ liệu nhị phân của tệp>
-- ----xyz123 
Content-Disposition: form-data; name="field1"

value1 -- ----xyz123--

Trong ví dụ này, thân yêu cầu chứa hai phần: một phần tệp với dữ liệu nhị phân của tệp và một phần tên với giá trị value1. Chuỗi biên giới tách biệt mỗi phần; phần cuối cùng được theo sau bởi hai dấu gạch ngang, và hai dấu gạch ngang nữa theo sau chuỗi biên giới.

Phương Thức HTTP

Các phương thức HTTP là các thông điệp được gửi đến một máy chủ xác định loại hành động cần được thực hiện. Những phương thức này cho phép giao tiếp toàn diện hơn giữa trình duyệt và máy chủ. Một số phương thức HTTP được liệt kê dưới đây:

● GET: Lấy một tài nguyên từ máy chủ.

● POST: Gửi một thực thể đến máy chủ và tạo một tài nguyên mới.

● PUT: Cập nhật một tài nguyên hiện có trên máy chủ.

● DELETE: Xóa một tài nguyên khỏi máy chủ.

● PATCH: Cập nhật một phần tài nguyên hiện có trên máy chủ.

● HEAD: Lấy các header của một tài nguyên mà không có thân của nó.

● OPTIONS: Lấy các phương thức HTTP được hỗ trợ bởi một tài nguyên.

● TRACE: Thực hiện một bài kiểm tra vòng lặp thông điệp dọc theo đường dẫn tới tài nguyên mục tiêu.

Trong ngữ cảnh của chúng ta, phương thức HTTP POST nên được sử dụng để gửi yêu cầu tải lên tệp. Điều này là do sự hỗ trợ của phương thức POST cho việc gửi dữ liệu trong thân yêu cầu.

Mã Hóa Tệp

Phương thức được sử dụng để đại diện cho dữ liệu ký tự trong một tệp nhị phân được gọi là mã hóa tệp. Nó đảm bảo rằng dữ liệu trong tệp có thể được lưu trữ, truyền tải và diễn giải một cách chính xác trên nhiều hệ thống và phần mềm khác nhau. Có nhiều mã hóa tệp khác nhau, bao gồm UTF-8ASCII.

Rất quan trọng để đảm bảo rằng mã hóa tệp tương thích với máy chủ và bất kỳ hệ thống nào khác xử lý nó khi làm việc với việc tải lên tệp trong APIs. Nói chung, UTF-8 là mã hóa tệp mặc định vì nó được hỗ trợ rộng rãi bởi nhiều hệ thống và có thể đại diện cho bất kỳ ký tự nào.

Giới Hạn Kích Thước Tệp

Giới hạn kích thước tệp đề cập đến kích thước lớn nhất mà có thể được tải lên một máy chủ. Điều chỉnh giới hạn kích thước tệp có thể giúp ngăn chặn các cuộc tấn công từ chối dịch vụ và đảm bảo rằng các tệp lớn không làm quá tải tài nguyên của máy chủ. Các giới hạn có thể được đặt ở cả cấp độ khách hàng và máy chủ.

Trình duyệt hoặc phần mềm được sử dụng để thực hiện yêu cầu tải lên tệp có thể thực thi các giới hạn kích thước tệp ở cấp độ khách hàng. Các trình duyệt thông thường có giới hạn kích thước tệp của riêng mình, điều này khác nhau tùy thuộc vào trình duyệt và hệ điều hành. Ví dụ, một số trình duyệt giới hạn tải lên tệp là 2GB, trong khi những trình duyệt khác cho phép tải lên lớn hơn. Mặt khác, các giới hạn kích thước tệp có thể được đặt ở cấp độ máy chủ trong cấu hình máy chủ web hoặc mã ứng dụng, có thể được cấu hình dựa trên tài nguyên có sẵn của máy chủ, kích thước của các tệp thường được tải lên, và mức độ bảo mật mong muốn.

Các điểm cuối API chấp nhận tải lên tệp nên có giới hạn kích thước tệp để ngăn chặn việc tải lên các tệp quá lớn nhằm đảm bảo máy chủ vẫn ổn định và phản hồi tốt.

Cách Tải Lên Tệp Trong Các Yêu Cầu Sử Dụng API?

Hướng Dẫn Từng Bước Để Tải Lên Tệp Trong Các Yêu Cầu Sử Dụng Apidog
Nguồn: Hình ảnh được tạo bằng https://smartmockups.com/

Apidog là một công cụ tài liệu và kiểm tra API giúp các nhà phát triển tạo, tài liệu, gỡ lỗi, kiểm tra, và mô phỏng các APIs của họ. Mục tiêu của nó là giúp việc tạo và quản lý REST APIs dễ dàng hơn bằng cách cung cấp một giao diện đơn giản và dễ sử dụng. Apidog có sẵn ở các phiên bản dựa trên đám mây và hỗ trợ nhiều ngôn ngữ lập trình cũng như khung API khác nhau, giúp bạn tải lên tệp trong API một cách liền mạch.

Bây giờ chúng ta đã bao quát các khái niệm cơ bản về việc tải lên tệp trong APIs và hiểu Apidog là gì, hãy cùng đi vào những hướng dẫn từng bước để thực hiện việc tải lên tệp với Apidog.

Bước 1: Tạo Một Dự Án Mới

Mở ứng dụng Apidog và tạo một Yêu Cầu mới.

Thêm Yêu Cầu Mới

Bước 2: Chọn Phương Thức Yêu Cầu

Chọn phương thức yêu cầu POST từ các tùy chọn thả xuống, bao gồm GET, POST, PUT, DELETE, TRACE, HEAD, v.v.

Chọn Phương Thức Yêu Cầu

Bây giờ chúng ta cần nhập URL của máy chủ sẽ nhận tệp. Với sự trợ giúp của Apidog, chúng ta có thể kiểm tra bằng tính năng Local Mock có sẵn và chỉ cần cung cấp một thư mục con như ở đây trong ví dụ này; chúng ta đang tải lên hình ảnh của chiếc xe, vì vậy chúng ta sẽ thêm /car vào URL mà thôi.

Trong khi điều này không bị giới hạn, bạn có thể sử dụng bất kỳ máy chủ nào có thể nhận tệp, điều này cũng có thể được thực hiện với sự trợ giúp của môi trường Testing hoặc Production mà Apidog cung cấp.

Nhập URL Của Máy Chủ

Bước 3: Đặt Loại Nội Dung Của Thân Yêu Cầu

Tiếp theo, hãy đặt loại nội dung của thân yêu cầu là multipart/form-data. Điều này đảm bảo rằng khách hàng có thể bao gồm các tệp trong thân yêu cầu. Chúng ta có thể làm điều này bằng cách truy cập vào phần Body và chọn dữ liệu biểu mẫu, như hình dưới đây:

Đặt Loại Nội Dung Của Thân Yêu Cầu

Bước 4: Thêm Một Trường Tệp Vào Thân Yêu Cầu

Để cho phép khách hàng tải lên các tệp vào API của bạn, hãy bao gồm một trường tệp trong thân yêu cầu. Để làm điều này, nhấp vào ô Thêm một tham số mới, thêm tên trường và chọn tệp từ menu thả xuống.

Thêm Một Trường Tệp

Trong hình ảnh trên, bạn có thể thấy rằng bạn có thể tải lên một tệp ngay khi bạn chọn tệp từ menu thả xuống.

Bước 5: Lưu Và Kiểm Tra Yêu Cầu

Sau khi cấu hình yêu cầu, hãy lưu nó và kiểm tra với công cụ kiểm tra Apidog. Để làm điều này, nhấp vào nút Gửi trong trình chỉnh sửa điểm cuối. Bạn có thể gửi một yêu cầu tải lên tệp đến điểm cuối và kiểm tra xem máy chủ đã nhận được tệp và bất kỳ dữ liệu bổ sung nào bạn đã bao gồm trong thân yêu cầu hay chưa. Cuối cùng, bạn sẽ có thể xem đầu ra cuối cùng như hình dưới đây:

Lưu Và Kiểm Tra Yêu Cầu

Bạn cũng có thể xem đầu ra mã của mình ở nhiều định dạng khác nhau mà Apidog cung cấp, như Shell, JavaScript, Java, Swift, Go, PHP, Python, HTTP, C, C#, Ruby, v.v., có thể thấy trong hình dưới đây:

Định Dạng Mã
Shell trên Apidog

Chúc mừng! Bạn đã thêm thành công một Yêu Cầu Tải Lên Tệp với sự giúp đỡ của Apidog.

Kết Luận

Chức năng tải lên tệp là rất quan trọng đối với nhiều ứng dụng web và di động, và các APIs tải lên tệp đang trở nên phổ biến hơn. Trong bài viết này, chúng tôi đã chỉ ra rằng khi phát triển một API chấp nhận tải lên tệp, điều quan trọng là xem xét loại nội dung, phương thức HTTP, mã hóa tệp, giới hạn kích thước tệp, và các biện pháp bảo mật.

Cuối cùng, với sự giúp đỡ của các công cụ thiết kế và kiểm tra API mạnh mẽ của Apidog, việc thiết lập tải lên tệp trong các APIs và yêu cầu trở nên dễ dàng hơn, điều này được thực hiện trong rất ít bước.

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API