V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tan9p
V2EX  ›  Heroku

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

  •  
  •   tan9p · 2019-03-01 23:53:13 +08:00 · 4117 次点击
    这是一个创建于 2104 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    10 条回复    2019-03-02 18:12:05 +08:00
    Jven
        1
    Jven  
       2019-03-02 00:13:23 +08:00 via Android
    你都不知道吧 error 打印一下吗
    tan9p
        2
    tan9p  
    OP
       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
        3
    Jven  
       2019-03-02 00:19:20 +08:00 via Android
    自己吧 path.join 出的路径打印出来去找,用 find /找也是 6
    tan9p
        4
    tan9p  
    OP
       2019-03-02 00:24:03 +08:00
    @Jven 出来的路径是 app/ 在这个文件夹下没有这个文件呀
    Jven
        5
    Jven  
       2019-03-02 00:47:33 +08:00 via Android
    从逻辑上看没什么问题,你可以考虑一下平台问题,或者 callback 里读一下目录看有没有那个文件
    lzvezr
        6
    lzvezr  
       2019-03-02 07:36:47 +08:00 via iPhone
    路径少了个 /吧
    lzvezr
        7
    lzvezr  
       2019-03-02 07:37:54 +08:00 via iPhone
    @lzvezr 哦,没注意,path.join 不存在这个问题
    crysislinux
        8
    crysislinux  
       2019-03-02 07:52:38 +08:00 via Android
    要写就写数据库,不然一重启就没了,heroku 也会自己重启
    ChefIsAwesome
        9
    ChefIsAwesome  
       2019-03-02 07:57:17 +08:00
    免费的 heroku 不让存东西吧。
    marknote
        10
    marknote  
       2019-03-02 18:12:05 +08:00 via iPhone
    Heroku 的文件系统临时的
    你需要其他的机制,比如 s3 或者数据库
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1618 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:55 · PVG 00:55 · LAX 08:55 · JFK 11:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.