without namespace codificar c# urlencode url-encoding

namespace - urldecode c#



¿Cómo URL codificar períodos? (2)

Necesito la URL para codificar algunos puntos, ya que tengo que pasar una ruta de documento y es así

http://example.com/test.aspx?document=test.docx

Así que test.docx me está causando un error de carácter ilegal. Así que necesito cambiarlo a

. --> %2E

Intenté usar Server.UrlEncode

string b = Server.UrlEncode("http://example.com/test.aspx?document=test.docx");

pero me sale

"http%3a%2f%2fexample.com%2ftest.aspx%3fdocument%3dtest.docx"

Entonces, ¿tengo que usar como reemplazo de una cadena y hacerlo manualmente y reemplazar todos los puntos con ese código?


El período no es el problema (dado que% 2E no resuelve el problema). Un punto es un carácter de URL perfectamente válido, sea cual sea el problema, no es el punto. Compruebe el seguimiento de la pila del error que se está lanzando o publique los detalles completos del error.

Y no deberías estar URL codificando la ruta completa. Sólo el valor del parámetro de cadena de consulta.

string b = "http://example.com/test.aspx?document=" + Server.UrlEncode("test.docx");

¿Sigues recibiendo el error si lo intentas de esa manera?

No tocaría SharePoint con un palo de diez pies. Sin embargo, escapar del período no necesariamente detendría a SharePoint de hacer shenanigans. Pero supongo que al menos deberías intentarlo.

Server.UrlEncode("test.docx").Replace(".", "%2E");


Esta es una pregunta muy antigua, pero me encontré con esto buscando un problema similar. Metí una "/" en el final de mi URL con puntos en ellos y resolvió el problema.