FileFS serves file from given file system. When dealing with `embed.FS` use `fs := echo.MustSubFS(fs, "rootDirectory") to create sub fs which uses necessary prefix for directory path. This is necessary as `//go:embed assets/images` embeds files with paths including `assets/images` as their prefix.
(file string, filesystem fs.FS)
| 668 | // prefix for directory path. This is necessary as `//go:embed assets/images` embeds files with paths |
| 669 | // including `assets/images` as their prefix. |
| 670 | func (c *Context) FileFS(file string, filesystem fs.FS) error { |
| 671 | return fsFile(c, file, filesystem) |
| 672 | } |
| 673 | |
| 674 | func fsFile(c *Context, file string, filesystem fs.FS) error { |
| 675 | file = path.Clean(file) // `os.Open` and `os.DirFs.Open()` behave differently, later does not like ``, `.`, `..` at all, but we allowed those now need to clean |