我想从服务器下载文件。下载时我想更改文件名。 但是当文件名包含空格时,我无法完全更改文件名。
我的代码如下
Response.AddHeader("content-disposition", "attachment; filename=" + fileName);
这允许用户将文件保存到他们的计算机。 但是当我保存文件时,只保存文件名的第一个单词。
例如。我想将文件名称为(“CCNA Q& A.pdf”),但文件另存为(“CCNA”)
我想知道如何用空格保存文件名。
答案 0 :(得分:0)
您是否尝试过Server.UrlEncode()? 或者你可以省略所有非字母字符('', - 等)和_s(正则表达式替换)。
Response.AddHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
答案 1 :(得分:0)
:Server.UrlEncode()
将用%20替换空格
只需将文件名放在双引号filename = "\"" + filename + "\"";
答案 2 :(得分:0)
我遇到了同样的问题,因为我试图下载名称中包含空格的文本文件。我用UrlDecode函数解决了这个问题。当浏览器将空格转换为' +'符号,使用解码功能需要转换这些' +'到空间。
fileName = Server.UrlDecode(fileName);
Response.AddHeader("content-disposition", "attachment; filename=\"" + fileName + "\"");
答案 3 :(得分:0)
您必须将其包装在其他引号中:
Response.AddHeader("content-disposition", "attachment; filename=\"" + fileName + "\"");