I agree with the previous responses of escaping the '#' symbol to '%23'. When dealing with file names on a website, it is also a good rule of thumb to avoid using special characters and spaces to avoid compatibility issues. Also, from an SEO perspective, consider the following example:
http://mydomain.com/ThisIsMyKeywordFileName.pdf
Some search engines will be able to parse a keyword out of this file name, but others will determine that 'thisismykeywordfilename' is all one word. If you change it to the following:
http://mydomain.com/This-Is-My-Keyword-File-Name.pdf
Search engines will then be able to break out the keywords in your file names. If you use spaces in the file name, you may end up with an encoded URL in your address bar that looks like this:
http://mydomain.com/This%20Is%20My%20Keyword%20File%20Name.pdf.
Which is not real nice to look at. When escaping the '#' symbol, you will end up with escaped file names that look similar to the example above. A good strategy if possible would be to simplify your file naming, otherwise, escaped special characters are what you need to do.