【发布时间】:2021-07-31 20:36:09
【问题描述】:
我正在使用 chartjsimage 将图表转换为图像并使用函数 .toFile 将它们存储在本地。它在我的本地机器上完美运行,但是当我将它部署到 azure web 应用程序时,我收到以下错误。
{ Error: ENOENT: no such file or directory, open
'D:\home\site\wwwroot\public\images\image1.png'at
Object.openSync (fs.js:439:3)at Object.writeFileSync (fs.js:1190:35)
at ChartJsImage.toFile (D:\home\site\wwwroot\node_modules\chartjs-to-image\index.js:136:8)at
process._tickCallback (internal/process/next_tick.js:68:7)errno: -4058,syscall: 'open',code:
'ENOENT',path:'D:\\home\\site\\wwwroot\\public\\images\\image1.png' }
我以为我可能无法访问 Azure Web 应用程序中的本地文件系统,但是当我检查此link 时,我发现实际上可以操作 D:\home 中的文件
--更新-- 我尝试从终端创建文件,并再次使用相同的代码运行,但出现以下错误。
{
"errno": -4048,
"syscall": "write",
"code": "EPERM"
}
我认为是渗透问题
【问题讨论】:
-
不是权限错误,是
file not exist错误。你检查文件是否存在? -
我正在使用 writeFileSync 函数来创建文件,我正在尝试在此处创建文件而不是读取文件。如果文件不存在,writeFileSync 应该创建文件
-
所以我猜这个文件夹不存在。
-
你能检查我的问题更新吗
-
不清楚你在终端做了什么。您可以从终端创建文件夹或文件吗?当前文件夹权限是什么? (检查终端上的
ls -l)
标签: node.js azure azure-web-app-service