首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在cyclic.sh上上传文件到只读文件系统?

如何在cyclic.sh上上传文件到只读文件系统?
EN

Stack Overflow用户
提问于 2022-11-28 15:36:29
回答 1查看 19关注 0票数 0

在cyclic.sh上运行快递服务器时,无法从UI上传文件。

使用mkdirp模块在heroku上使用相同的代码。https://www.npmjs.com/package/mkdirp

获取以下错误:

代码语言:javascript
复制
2022-11-23 14:04:30.748: /var/task/node_modules/multer/node_modules/mkdirp/index.js:91
                    throw err0;
                    ^

Error: EROFS: read-only file system, mkdir '/var/task/public/uploads'
    at Object.mkdirSync (node:fs:1349:3)
    at sync (/var/task/node_modules/multer/node_modules/mkdirp/index.js:72:13)
    at Function.sync (/var/task/node_modules/multer/node_modules/mkdirp/index.js:78:24)
    at new DiskStorage (/var/task/node_modules/multer/storage/disk.js:21:12)
    at module.exports (/var/task/node_modules/multer/storage/disk.js:65:10)
    at new Multer (/var/task/node_modules/multer/index.js:15:20)
    at multer (/var/task/node_modules/multer/index.js:95:12)
    at Object.<anonymous> (/var/task/routes/cards.js:29:16)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/var/task/server.js:40:20)
    at Module._compile (node:internal/modules/cjs/loader:1105:14) {
  errno: -30,
  syscall: 'mkdir',
  code: 'EROFS',
  path: '/var/task/public/uploads'
}
2022-11-23 14:04:30.765: 

ERROR: Failed to run "npm run start". Start script defined in package.json:

            "scripts": {
                "start":  "node server.js"
                 ...
            
Exited with code: 1

代码在本地工作,并在消除免费层之前对heroku进行工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-28 15:43:23

循环是建立在无服务器技术(AWS Lambda)之上的,这使得文件系统成为只读的。唯一可写的目录是/tmp。但是,由于lambda的实例可以在任何时候关闭/回收,因此不应该将其用于永久存储。

要永久地写入文件,可以写入集成的S3存储桶,或者为用户提供一个他们可以将文件上传到的预先签名的URL。

有关使用无服务器基础结构的文件上载的更多信息,请参见docs:https://docs.cyclic.sh/serverless/stateless#file-upload

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74602986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档