tan9p
V2EX  ›  Heroku

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

  •  
  •   tan9p · Mar 1, 2019 · 5727 views
    This topic created in 2803 days ago, the information mentioned may be changed or developed.

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

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

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

    10 replies  •  2019-03-02 18:12:05 +08:00
    Jven
    Jven
    Mar 2, 2019 via Android
    1
    你都不知道吧 error 打印一下吗
    tan9p
    tan9p
    OP
    Mar 2, 2019
    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
    Jven
    Mar 2, 2019 via Android
    3
    自己吧 path.join 出的路径打印出来去找,用 find /找也是 6
    tan9p
    tan9p
    OP
    Mar 2, 2019
    4
    @Jven 出来的路径是 app/ 在这个文件夹下没有这个文件呀
    Jven
    Jven
    Mar 2, 2019 via Android
    5
    从逻辑上看没什么问题,你可以考虑一下平台问题,或者 callback 里读一下目录看有没有那个文件
    lzvezr
    lzvezr
    Mar 2, 2019 via iPhone
    6
    路径少了个 /吧
    lzvezr
    lzvezr
    Mar 2, 2019 via iPhone
    7
    @lzvezr 哦,没注意,path.join 不存在这个问题
    crysislinux
    crysislinux
    Mar 2, 2019 via Android
    8
    要写就写数据库,不然一重启就没了,heroku 也会自己重启
    ChefIsAwesome
    ChefIsAwesome
    Mar 2, 2019
    9
    免费的 heroku 不让存东西吧。
    marknote
    marknote
    Mar 2, 2019 via iPhone
    10
    Heroku 的文件系统临时的
    你需要其他的机制,比如 s3 或者数据库
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2765 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 00:28 · PVG 08:28 · LAX 16:28 · JFK 19:28
    ♥ Do have faith in what you're doing.