Having the wrong amount of slashes in all these user inputs is going to break something eventually. We really need to do some checking to get the right amount. This is something we should control, probably via strip and manual insert.
Pathify() https://golang.org/pkg/path/filepath/#Clean
Pathify()
https://golang.org/pkg/path/filepath/#Clean