[Hỏi] Vấn đề về đường dẫn khi deploy app trên Heroku



  • Xin chào các cao thủ trên nodejs.vn :D
    Vẫn là em trên con đường khám phá nodejs với rất nhiều câu hỏi :D
    Từ bữa bác MOD @Vũ chỉ cho vài chiêu khi dùng nightmare trên c9.io . Nay em đã deploy thành công lên Heroku, tuy nhiên còn 1 vấn đề nhờ bác nào đã gặp rồi chia sẻ hướng dẫn giúp em.

    Chuyện là app của em nó làm 1 việc đơn giản là dùng nightmare chụp 1 bức ảnh của website, sau đó show ra cái đường dẫn dạng appname.herokuapp.com/public/fileanh1234.png cho người ta bấm vào. Vậy thôi.

    App này đã chạy được trên c9.io (vì nó cho quản lý thư mục nên em còn thấy đường - chứ bên heroku em ko biêt làm sao để thấy cấu trúc thư mục khi đưa lên). Khi đưa qua heroku thì tạo file ảnh thành công, tuy nhiên click vào link thì báo lỗi là :

    Cannot GET /public/filname1234.png

    Em nghĩ đây là vấn đề đường dẫn dạng ./ hoặc / gì đấy nên có thay đổi đường dẫn khi tạo file và get file.

    .screenshot("public/tenfile_"+random+".png")
    hoặc
    .screenshot("./public/tenfile_"+random+".png")
    var link = "https://appname.herokuapp.com/public/tenfile_"+random+".png"

    Em cũng đã khai báo

    app.use(express.static('public'));

    Thử mấy cách cũng ko show được file ảnh.
    Xin các cao thủ chỉ giáo ạ.
    Cám ơn mọi người !



  • @lamphanqtappname.herokuapp.com/fileanh1234.png ...
    Mà mấy cái ide dạng online hay cloud gì gì đó mà nhiều bạn thích dùng nhỉ. Nhiều lúc thấy có ông đưa có mật khẩu quản trị rồi public.



  • Ban xem log cua no the nao
    heroku logs --tail
    Theo kinh nghiem cua minh thi minh tao 1 thu muc public roi push len
    Chu y la file se bi mat o lan sau commit
    Ban nen su dung cac dich vu luu tru cloud thi tot hon
    Xin loi dang dung tren mobile nen ko go co dau duoc


  • Global Moderator

    @lamphanqt Do bạn đang serve static file tại thư mục public nên đường dẫn tương đối sẽ lấy từ đây, bên trong thư mục này. Tức là ko có public trên đường link của bạn, giống @hidemanvn đã gợi ý.



  • Cám ơn bác @hidemanvn, bác @Khoa-Lê-Duy và bác @Vũ.
    Bác @hidemanvn và bác @Vũ : cấu trúc thư mục của em là :
    index.js
    package.json
    node_modules
    public
    => Chạy code theo hướng dẫn của 2 bác vẫn chưa lây được ảnh @@. Vẫn lỗi Cannot GET....
    Thư mục em lưu khi chạy screeshot của nightmare = 'public/fileanh1234.png' và gọi link = appname.herokuapp.com/fileanh1234.png
    Vậy đúng chưa bác? sao nó vẫn lỗi như cũ ạ ?

    bác @Khoa-Lê-Duy : bác bảo tạo thư mục rồi push lên, nhưng lần sau bị mất file khi commit là sao em ko hiểu ? Mất là mất file gì vậy bác ?



  • @lamphanqt doc log xem no bao cai gi ban.
    1 Chua tao dc anh
    2 url dang sai

    Con mat file thi cung doc not cai specs cua heroku do.



  • Cám ơn các bác nhiệt tình chỉ bảo :D
    Em fix được rồi :D
    do lỗi đường dẫn static như các bác đã nói :D


Log in to reply