nodejs createwriteStream file image broken

const fs = require('fs');
const http = require('http');
const { parse } = require('url');

const server = http.createServer((req, res) => {
  const { query } = parse(req.url, true);
  const imageSource = query.image;

  if (!imageSource) {
    res.writeHead(400, { 'Content-Type': 'text/plain' });
    res.end('Bad Request: Image parameter is required');
    return;
  }

  const imageStream = fs.createWriteStream('output.jpg');

  http.get(imageSource, (imageResponse) => {
    if (imageResponse.statusCode !== 200) {
      res.writeHead(imageResponse.statusCode, { 'Content-Type': 'text/plain' });
      res.end('Error: Unable to fetch image');
      return;
    }

    imageResponse.pipe(imageStream);

    imageStream.on('finish', () => {
      res.writeHead(200, { 'Content-Type': 'text/plain' });
      res.end('Image successfully downloaded and saved');
    });

    imageStream.on('error', (err) => {
      res.writeHead(500, { 'Content-Type': 'text/plain' });
      res.end(`Error: ${err.message}`);
    });
  });
});

const PORT = 3000;
server.listen(PORT, () => console.log(`Server running at http://localhost:${PORT}/`));