All this already works (although maybe not perfectly in edge cases). Consider: 'file:///C:/Users/tempfile.txt' asUrl. 'file:///C:/Users/tempfile.txt' asUrl asFileReference. FileLocator C / 'Users' / 'tmpfile.txt'. Where the last two are identical. Note that relative file URLs do not exist.
On 14 Oct 2016, at 13:28, Gabriel Cotelli <g.cotelli@gmail.com> wrote:
At least Chrome uses this:
file:///C:/Users/tempfile.txt
On Fri, Oct 14, 2016 at 1:45 AM, Martin McClure <martin@hand2mouse.com> wrote: On 10/13/2016 10:35 AM, Damien Pollet wrote: Could you give an example what the file:// URLs look like when they contain a drive letter?
I'm afraid I don't have any Windows machines handy to see what Internet Explorer does, but as far as I can tell an absolute URL compliant with RFC 3986 might look something like
file:/c:/foo/bar
A relative URL that fits the URL syntax would be
file:c:/foo/bar
But I'm finding it difficult to tell precisely how RFCs 1738 and 3986 currently interact.
The discussion in this proposed RFC is somewhat interesting: https://tools.ietf.org/html/draft-ietf-appsawg-file-scheme-02, as it directly addresses Windows file naming. In appendix B.2, it says
"When mapping a DOS- or Windows-like file path to a URI, use the drive letter (e.g. "c:") as the first path segment. Some implementations leave the leading slash off before the drive letter. "
and appendix C.1 deals with DOS file paths.
I hope this is more helpful than it is confusing.
Regards,
-Martin