beego靜態(tài)文件處理

2023-11-21 10:45 更新

Go 語言內(nèi)部其實已經(jīng)提供了 http.ServeFile,通過這個函數(shù)可以實現(xiàn)靜態(tài)文件的服務(wù)。beego 針對這個功能進(jìn)行了一層封裝,通過下面的方式進(jìn)行靜態(tài)文件注冊:

beego.SetStaticPath("/static","public")
  • 第一個參數(shù)是路徑,url 路徑信息
  • 第二個參數(shù)是靜態(tài)文件目錄(相對應(yīng)用所在的目錄)

beego 支持多個目錄的靜態(tài)文件注冊,用戶可以注冊如下的靜態(tài)文件目錄:

beego.SetStaticPath("/images","images")
beego.SetStaticPath("/css","css")
beego.SetStaticPath("/js","js")

設(shè)置了如上的靜態(tài)目錄之后,用戶訪問 /images/login/login.png,那么就會訪問應(yīng)用對應(yīng)的目錄下面的 images/login/login.png 文件。如果是訪問 /static/img/logo.png,那么就訪問 public/img/logo.png文件。

默認(rèn)情況下 beego 會判斷目錄下文件是否存在,不存在直接返回 404 頁面,如果請求的是 index.html,那么由于 http.ServeFile 默認(rèn)是會跳轉(zhuǎn)的,不提供該頁面的顯示。因此 beego 可以設(shè)置 beego.BConfig.WebConfig.DirectoryIndex=true 這樣來使得顯示 index.html 頁面。而且開啟該功能之后,用戶訪問目錄就會顯示該目錄下所有的文件列表。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號