Skip to main content
← Back to API Practice

📁 File Operations Lab

Practice file download and upload testing. Learn to handle CSV, JSON, PDF, ZIP files, Range headers for resume downloads, and chunked transfer encoding.

8
Total Challenges
2
Easy
3
Medium
3
Hard/Expert

📦 Available File Formats

CSV

Comma-separated values. Easy to parse, widely supported.

Content-Type: text/csv

JSON

JavaScript Object Notation. Structured, nested data.

Content-Type: application/json

PDF

Portable Document Format. Binary format, needs parsing library.

Content-Type: application/pdf

ZIP

Compressed archive. Contains multiple files.

Content-Type: application/zip

Large Binary

Supports Range headers for resume downloads.

Accept-Ranges: bytes

Stream

Chunked transfer encoding for unknown size.

Transfer-Encoding: chunked

⚡ Quick Test

Difficulty:
Showing 8 of 8 challenges

💻 Quick Start

curl

# Download CSV
curl -O https://api.qa-practice.dev/api/v1/files/download?format=csv

# Resume download with Range
curl -C - -O https://api.qa-practice.dev/api/v1/files/download?format=large&size=5

Playwright

// Download file
const [download] = await Promise.all([
  page.waitForEvent('download'),
  page.click('#download-btn'),
]);
const path = await download.path();