【发布时间】:2009-10-13 16:55:47
【问题描述】:
我在下载文件时遇到问题,下载时所有空格都替换为下划线。
基本上我在这里遇到了问题:
Response.AddHeader("Content-Disposition",
"attachment; filename=" + someFileName);
问题在于,如果 someFileName 中有空格,例如“check this out.txt”,那么系统会提示用户下载“check_this_out.txt”。
我认为最好的选择是对文件名进行 UrlEncode,所以我尝试了
HttpUtility.UrlEncode(someFileName);
但它用加号代替了空格,这让我很困惑。那我就试了
HttpUtility.UrlEncode(HttpUtility.UrlDecode("%20"))
解码工作正常并给了我一个空间,但编码占用了空间,然后再次给了我加号。
我在这里遗漏了什么,这是正确的吗?如果是这样,我应该如何正确地将空格编码为 %20,这是我需要的。
【问题讨论】: