使用节点 fs.createWriteStream(path) 保存图像文件?

Saving an image file with node fs.createWriteStream(path)?

正在尝试执行 code from this article 并获得:

Error: ENOENT: no such file or directory, open '/home/ole/Temp/image/images/code.jpg'
Emitted 'error' event at:
    at internal/fs/streams.js:289:12
    at FSReqCallback.oncomplete (fs.js:153:23) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/home/ole/Temp/image/images/code.jpg'

我们如何fs.createWriteStream(path)创建它试图写入的文件?

这是试图写入图像的代码:

'use strict'

const Fs = require('fs')  
const Path = require('path')  
const Axios = require('axios')

async function downloadImage () {  
    const url = 'https://unsplash.com/photos/AaEQmoufHLk/download?force=true'
    const path = Path.resolve(__dirname, 'images', 'code.jpg')
    const writer = Fs.createWriteStream(path)

    const response = await Axios({
      url,
      method: 'GET',
      responseType: 'stream'
    })

    response.data.pipe(writer)

    return new Promise((resolve, reject) => {
      writer.on('finish', resolve)
      writer.on('error', reject)
    })
  }

  downloadImage()   

这可能是因为此目录 /home/ole/Temp/image/images 不存在或您没有适当的权限。

fs.createWriteStream() 不会为您创建目录。它将创建文件,但不会创建目录。