http.FileServer
来提供某个目录下的静态文件。以下是我使用mux作为路由器进行映射的方法:
r.PathPrefix("/download").Handler(http.StripPrefix("/download", http.FileServer(http.Dir(dirPath)))).Methods("GET")
其中dirPath
是我文件系统中一个目录的绝对路径。
现在,当使用localhost:8080/download请求目录列表时,似乎能够正常工作,因为它返回了这样一个页面。
<pre>
<a href="a.xml">a.xml</a>
<a href="b.xml">b.zip</a>
</pre>
很不幸,链接已损坏,因为我期望它们被映射到例如localhost:8080/download/a.xml
,但文件服务器将它们映射到localhost:8080/a.xml
。
我该如何使我的目录列表中的链接保留/download
路径前缀?