使用节点 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()
不会为您创建目录。它将创建文件,但不会创建目录。
正在尝试执行 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()
不会为您创建目录。它将创建文件,但不会创建目录。