URL's are NOT allowed to contain spaces. Your second URL seems to point to a file containing spaces (
Ellie Goulding - Your Song.mp3), and at some point it is encoded to replace and whitespace character with
%20. It's also possible that your original file name actually contains
%20, but that's not possible to tell from your code.
Different browsers (and servers) will handle names with spaces differently, so you should avoid spaces in both folder and file names to be safe. I can't tell exactly where the problem is, but as @Lodder pointed out in his comment, replacing
%20 (or spaces) with an underscore
_ is a common way to solve this.
From RSC 2396:
2.4.3. Excluded US-ASCII Characters
Although they are disallowed within the URI syntax, we include here
a description of those US-ASCII characters that have been excluded
and the reasons for their exclusion.
The control characters in the US-ASCII coded character set are not
used within a URI, both because they are non-printable and because
they are likely to be misinterpreted by some control mechanisms.
<US-ASCII coded characters 00-1F and 7F hexadecimal>
The space character is excluded because significant spaces may
disappear and insignificant spaces may be introduced when URI are
transcribed or typeset or subjected to the treatment of word-
processing programs. Whitespace is also used to delimit URI in many