Private Sub NormalizePath(p As String) As String
If p.StartsWith("/") Or p.StartsWith("\") Then p = p.SubString(1)
'#if B4A Or B4J
Dim jo As JavaObject
jo.InitializeNewInstance("java.io.File", Array(File.Combine(mServer.BaseDir, p)))
Dim CanonicalPath As String = jo.RunMethod("getCanonicalPath", Null)
If CanonicalPath.ToLowerCase.StartsWith(mServer.BaseDir.ToLowerCase) Then
Dim r As String = CanonicalPath.SubString(mServer.BaseDir.Length).Replace("\", "/")
If r.Length = 0 Then Return "/" Else Return r
Else
SendResponse(450, "Invalid path: " & p)
Return ""
End If
'...
End Sub