在Revel应用中阅读“公共”文件内容

I am currently writing a Go web app using Revel.

My app needs to read the content of an XML file which is stored on the server. At the moment, I store this file in the "public" folder where some other resources (css, js...) lie.

I am using ioutil.ReadFile to read the content of this file. While this is working when the server is run from the main app folder itself, I cannot figure how to access the file when the server is run from another location (say by running "revel run myapp" from $GOPATH).

Is there any way to deal with this situation in revel? is there a generic way to know the path of the "public" folder?

Any hint would be appreciated.

Thanks! :)

The base path of the application is stored and accessible through revel.BasePath.

The "public" folder can thus be accessed through revel.BasePath + "/public/<...>".

This BasePath value is used, for example, in Static.Serve.