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

2019-03-01 23:53:13 +08:00
 tan9p

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

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

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

3912 次点击
所在节点    Heroku
10 条回复
Jven
2019-03-02 00:13:23 +08:00
你都不知道吧 error 打印一下吗
tan9p
2019-03-02 00:16:45 +08:00
打了的,
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-03-02 00:19:20 +08:00
自己吧 path.join 出的路径打印出来去找,用 find /找也是 6
tan9p
2019-03-02 00:24:03 +08:00
@Jven 出来的路径是 app/ 在这个文件夹下没有这个文件呀
Jven
2019-03-02 00:47:33 +08:00
从逻辑上看没什么问题,你可以考虑一下平台问题,或者 callback 里读一下目录看有没有那个文件
lzvezr
2019-03-02 07:36:47 +08:00
路径少了个 /吧
lzvezr
2019-03-02 07:37:54 +08:00
@lzvezr 哦,没注意,path.join 不存在这个问题
crysislinux
2019-03-02 07:52:38 +08:00
要写就写数据库,不然一重启就没了,heroku 也会自己重启
ChefIsAwesome
2019-03-02 07:57:17 +08:00
免费的 heroku 不让存东西吧。
marknote
2019-03-02 18:12:05 +08:00
Heroku 的文件系统临时的
你需要其他的机制,比如 s3 或者数据库

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

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

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

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

© 2021 V2EX