gin的router Static StaticFS StaticFile区别
时间: 2023-11-22 12:55:56 浏览: 131
在gin框架的路由中,`Static`、`StaticFS`和`StaticFile`都是用于处理静态文件的函数。
- `Static(relativePath, root)` 用于将相对路径映射到root目录下的静态文件,可以用于处理单个静态文件。例如:
```go
router.Static("/static", "./assets")
```
这条语句将浏览器访问 `/static` 时,会将请求转发到项目根目录下的 `./assets` 文件夹,返回对应的静态文件。
- `StaticFS(relativePath, fs)` 与 `Static` 相似,但是可以指定一个 `http.FileSystem` 对象,可以处理多个静态文件。例如:
```go
router.StaticFS("/static", http.Dir("./assets"))
```
这条语句与上面的 `Static` 类似,但是可以处理 `./assets` 文件夹中的所有文件。
- `StaticFile(relativePath, filepath)` 用于处理单个静态文件。例如:
```go
router.StaticFile("/favicon.ico", "./favicon.ico")
```
这条语句将浏览器访问 `/favicon.ico` 时,会将请求转发到项目根目录下的 `./favicon.ico` 文件,返回对应的静态文件。
综上,这三个函数的区别主要在于处理单个静态文件还是多个静态文件以及使用的参数类型不同。
阅读全文