[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
Vẫn là em trên con đường khám phá nodejs với rất nhiều câu hỏi
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 !
-
@lamphanqt là
appname.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
-
@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 saiCon 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
Em fix được rồi
do lỗi đường dẫn static như các bác đã nói
-
@lamphanqt bác fix lại như nào thế