File Uploads

Novaxjs2 supports file uploads with configurable size limits and automatic parsing.

Basic File Upload

<form action="/upload" method="post" enctype="multipart/form-data">
  <input type="file" name="myFile">
  <button type="submit">Upload</button>
</form>
app.post('/upload', (req, res) => {
  const file = req.files.myFile;
  console.log('Uploaded file:', file);
  res.json({ message: 'File uploaded successfully' });
});

Configuration

// Set file size limit (default: 50MB)
app.setFileSizeLimit(10); // 10MB limit

Error Handling

app.error((err, req, res) => {
  if (err.code === 'LIMIT_FILE_SIZE') {
    return 'File is too large! Maximum size is 10MB';
  }
  return 'An error occurred during file upload';
});

File Management

// Clear all uploaded files
app.fileHandler.clearUploads();

// Remove specific file
app.fileHandler.removeFile('/path/to/file');

// Get readable stream of a file
const stream = app.fileHandler.getFileStream('/path/to/file');
stream.pipe(res);