简体   繁体   中英

Special chars in query string

I am passing a query string parameter containing file name.

default.aspx?file=Fame+ adlabs.xml ( Fame+ adlabs.xml is the actual file name on server). The file name has "+" & also blank spaces.

When I check for file name from query string as follows:

   var fileName = Request.QueryString["file"];

The variable filename does not have a "+" in it. It reads as "Fame adlabs.xml" & hence I get a file not found exception. I cannot rename the xml files. Can someone please guide me into right direction.

Thanks

You should URL encode into your javascript before sending it :

var name = "Fame+ adlabs.xml";
var url = "default.aspx?file=" + encodeURIComponent(name);

Pay attention that following char won't work : ~!*()'

If you are trying to do it at the server in C#:

String FileName = "default.aspx?";

String FullURL = FileName + HttpUtility.UrlEncode("Fame + adlabs.xml");

String Decoded = HttpUtility.UrlDecode(FullURL);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM