Heroku 的 nodejs 如何将提交的表单信息写入文件?

2019 年 3 月 1 日
 tan9p

楼主还是典型的 PHP 思维,想将表单提交的信息写入 info.txt 文件,就这样写:

fs.appendFile(path.join(__dirname,'info.txt'),querystring.parse(reqBody).name+"\t",function(error){});

但是在 heroku 的 bash 下找不到想要的 info.txt 文件,想问下该如何解决:) 谢谢各位大虾啦~

4946 次点击
所在节点    Heroku
10 条回复
Jven
2019 年 3 月 2 日
你都不知道吧 error 打印一下吗
tan9p
2019 年 3 月 2 日
打了的,
fs.appendFile(path.join(__dirname,'info.txt'),querystring.parse(reqBody).name+"\t",function(error){if(error) console.log('写文件操作失败');
else console.log('写文件操作成功');
});
看 logs 显示的是写文件操作成功,但是在 bash 里找不到这个文件.
用 find / -name "info.txt"
查的结果是 lost+found permission denied
Jven
2019 年 3 月 2 日
自己吧 path.join 出的路径打印出来去找,用 find /找也是 6
tan9p
2019 年 3 月 2 日
@Jven 出来的路径是 app/ 在这个文件夹下没有这个文件呀
Jven
2019 年 3 月 2 日
从逻辑上看没什么问题,你可以考虑一下平台问题,或者 callback 里读一下目录看有没有那个文件
lzvezr
2019 年 3 月 2 日
路径少了个 /吧
lzvezr
2019 年 3 月 2 日
@lzvezr 哦,没注意,path.join 不存在这个问题
crysislinux
2019 年 3 月 2 日
要写就写数据库,不然一重启就没了,heroku 也会自己重启
ChefIsAwesome
2019 年 3 月 2 日
免费的 heroku 不让存东西吧。
marknote
2019 年 3 月 2 日
Heroku 的文件系统临时的
你需要其他的机制,比如 s3 或者数据库

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/540202

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX