【问题标题】:i can't create file in Azure web app using node js我无法使用节点 js 在 Azure Web 应用程序中创建文件
【发布时间】: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


【解决方案1】:

查看this

使用递归mkdir 创建文件夹,然后保存文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-03
    • 2020-11-29
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    相关资源
    最近更新 更多