2017-04-10 24 views
1

因此,我使用Node JS構建了我的應用程序。通過使用本地主機:3000進行本地測試,一切都完美解決。部署節點JS後,Heroku App上不會顯示圖像(PNG,JPG)

當我在本地測試應用程序,我使用的路徑,例如

<p> 
    <img src="http://localhost:3000/images/logo/sample.jpg" /> 
</p> 

讓我的瀏覽器中得到的圖像文件和渲染。

當然,我已經將它設置/公共我的內靜態文件夾app.js

所以我已經部署到Heroku的,使用http://localhost:3000/images/logo/sample.jpg讓我404錯誤後實現代碼,但我已經刪除了本地主機解析:3000,只用於/images/logo/sample.jpg

使用Chrome的開發eloper工具對我的Heroku應用程序(部署後),我能夠看到圖像加載完美,但最終沒有顯示。我注意到的一個奇怪的部分是文檔的類型。 .png.jpg Heroku內的文件被讀取爲html/text類型而不是圖像類型。

有沒有一種方法,我可以告訴大家的Heroku,我png格式.JPG文件不HTML /文本類型?

我不想使用S3或付費雲服務......只是想使用Heroku的免費計劃。

謝謝大家。

+0

在開發人員工具中,您是否可以打開指向圖像的鏈接並正確顯示? –

+0

你可以嘗試在本地機器上運行這個命令'heroku local'來測試你的應用程序,你可以看到它是否適用於你本地。 – chenkehxx

+0

我已經嘗試過heroku本地並在我的本地機器上測試過。奇怪的是,一些圖像加載和其他圖像被打破。 Heroku local可以識別某些圖像爲png或jpg類型,並且在某些頁面中,heroku local檢測圖像爲html /文本類型,而不是png或jpg ... –

回答

0

如果您碰巧使用Windows開發了您的應用程序,則圖像擴展案例不是不敏感的,但是當您將應用程序部署到Heroku時,Heroku基於Linux,因此關心您正在使用的情況。例如,您可能有一個圖像background.JPG但在您的應用程序中,您使用background.jpg,不幸的是它不會在heroku部署上工作。