c# - 如何将 '\' 更改为 '/'

标签 c# javascript url browser

当尝试访问 C# 程序背后的代码中的文件时,我的 Web 程序出现错误,该文件的目录名和文件名之间有反斜杠。该文件的地址进入我的网页,查询值为“deaths\bakerd.htm”。然而,浏览器将其转换为“deaths%08akerd.htm”。

网页中的 url 为

 'http://localhost:57602/obitm.aspx?url=deaths%08akerd.htm' 

并说找不到网页,但网页 obitm.aspx 确实存在,为什么会说不存在?

如果我手动将 Windows 资源管理器中的查询值更改为“deaths/bakerd.htm”,则在浏览器中作为查询值进入时不会执行任何转换,并且我能够访问以下位置的文件我的 C# 程序。

我尝试使用

更改 javascript 中的查询值
   thisurl = url.replace("\\", "/") 

但这并没有改变任何事情。

我还没有在我的 C# 程序中尝试过任何转换。那么如何以编程方式将“\”更改为“/”?我不知道为什么会发生这种情况并且非常令人困惑。如有任何帮助,我们将不胜感激。

最佳答案

仅将 URL 字符串中的\转换为/是行不通的,因为在这种情况下,“\b”将被转换为退格字符,该退格字符被编码为 %08 - 这是 ASCII 的十六进制值相当于退格字符。

要解决这一问题,您可以将“%08”转换为字符串“/B”,但有很多 HTML codes对于各种 Angular 色来说,尝试它不会有成效或有趣。

您从哪里获取包含文件名 name 的原始字符串? 如果您可以控制它,则在读取文件的路径/名称时以及将其通过 URL 传递到 Web 应用程序之前,将“\”转换为“/”。

您还可以在发送路径之前对路径进行 HTMLEncode,以便字符串变为

http://localhost:57602/obitm.aspx?url=deaths%92Bakerd.htm' 

关于c# - 如何将 '\' 更改为 '/',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19217533/

相关文章:

c# - 表达式转换错误 - 类型之间没有定义强制运算符

javascript - 'middleman server'和 'middleman build'之间的JS差异

javascript window.location 在 Firefox 中不起作用

javascript - JavaScript 重定向何时真正生效?

java - 从远程地址复制文件似乎丢失了信息

c# - JsonServiceClient 似乎未包含在程序集中

c# - 多态性,调用正确的函数

c# - 使纯文本网址可点击的正则表达式字符串问题

javascript - 没有哈希值的 url 更改

c# - OPC-UaFx采样速度极慢