2015-10-24 53 views
0

使用平均的環境中,我根據要求返回圖像到客戶端。例如:的Node.js:sendfile的未知文件類型

res.sendfile("./pathtoimage/someImage.jpg"); 

我的問題:路徑圖像(以及圖像名稱)在運行時計算,以下具體方案,所以我知道圖像的路徑和實際名稱。我不知道是圖像的文件類型,因此缺少文件擴展名(如.jpg,.gif或.PNG)。取而代之的檢查,如果該文件在任何一個版本存在,可我不是寫的是這樣的:與任何擴展你會發現文件

res.sendfile("./pathtoimage/someImage.*"); 

返回,而不是如果該文件的某個版本存在人工檢查?還有其他建議嗎?否則,我會繼續嘗試訪問所有變體,直到找到正確的組合並返回。我只是想知道是否有更快,更優雅的方式來做到這一點。

回答

0

我認爲你是獨自fs.exists

如果考慮使用像nginx反向代理爲靜態文件,你將有更多的選擇,以滿足與幾個可能的擴展圖像文件。

nginxtry_files指令可用於這一目的:

try_files $uri.jpg $uri.gif $uri.png $uri/ =404 
+0

嗯ok了。我想我可能會像使用any()一樣使用Promise集合來同時檢查所有變體,然後查找現有文件。謝謝! –