javascript - 使用 node.js 将文件上传到服务器时出错
问题描述
我正在尝试将一张 excel 表上传到服务器。它工作得很好,但有时它会中断。由于没有这样的文件或目录而出现错误。
// Request = request.payload.file, id= unique string
const brinksFilePath = './uploads/';
const fs = require('fs');
let uploadFile = async (request, id) => {
let data = request;
let type = id + '/';
let name = data.hapi.filename;
let path = brinksFilePath + type + name;
try {
const file = fs.createWriteStream(path);
if (!fs.existsSync(brinksFilePath + type)) {
console.log("Path not found making directory ")
fs.mkdirSync(brinksFilePath + type);
}
file.on('error', (err) => console.error(err));
data.pipe(file);
data.on('end', (err) => {
const ret = {
filename: data.hapi.filename,
headers: data.hapi.headers
}
})
} catch (error) {
console.log("error -----", error)
}
return path
}
错误如下
{ [Error: ENOENT: no such file or directory, open 'C:\Users\Desktop\api\uploads\aegrghthtrhtre\REPORT_02.2021.xlsx']
errno: -4058,
code: 'ENOENT',
syscall: 'open',
path:
'C:\Users\Desktop\api\uploads\aegrghthtrhtre\REPORT_02.2021.xlsx' }
如果我在系统中浏览相同的路径,则会创建一个文件夹,但我没有看到任何文件。
解决方案
推荐阅读
- ios - 添加纹理混合模式的内核函数
- c++ - 从 C++ 类返回 shared_ptr
- linux - 错误:autoconf 失败,退出状态:1
- python - Seaborn Facetgrid 中热图的变化
- javascript - 谷歌地图api,gecode。尝试对特定语言的地址进行地理编码
- angular - 异步向下钻取不适用于面积图
- angular6 - 自定义类型文件到角度 6
- angular - RxJS Observables:为什么回调会触发两次?
- npm - Npm 可执行文件名称冲突
- php - 安装 yii2 高级应用程序模板后,运行 localhost/advanced/advanced/web 不显示任何内容