Engraçado, eu achando que a parte do projeto que eu estava fazendo tinha ficado pronta .. Era fazer upload de arquivos usando o controle FileUpload .. Até ai nada fora do normal, né ? Até que eu faço upload de um arquivo C#_algumacoisa.pdf e na hora que eu vou abrir o arquivo pelo site, o nome do arquivo era cortado na tralha(#) ! Acho que em todos os caracteres especiais .. Até que me deram a dica de procurar algo como “html encoder/decoder + asp.net, C#”. Depois de resolvido o problema com uma função a parte, surgiu outro problema .. Agora só abria quando era upload de um arquivo, mas se eu quisesse colocar um link no lugar de um arquivo ? (Sim, você podia escolher entre um link ou um arquivo, como se fosse uma matéria que tinha um arquivo ou um link para continuar lendo a matéria) O link não abria, ele pegava um caminho localhost/………… e por ai vai .. Ai não mudou muita coisa na função, só uma verificação se o caminho tinha http na frente
Ficou mais ou menos assim:
public string TratarLink(string link)
{
if (link.StartsWith(“http”))
return link;
else
{
UTF8Encoding utf8 = new UTF8Encoding();
byte[] encodedBytes = utf8.GetBytes(link);
StringBuilder builder = new StringBuilder();
for (int index = 0; index < encodedBytes.Length; index++)
{
builder.AppendFormat(“%{0}”, Convert.ToString(encodedBytes[index], 16));
}
return builder.ToString();
}
}
public string CheckLink(string link)
{
if (link.StartsWith("http"))
return link;
else
{
UTF8Encoding utf8 = new UTF8Encoding();
byte[] encodedBytes = utf8.GetBytes(link);
StringBuilder builder = new StringBuilder();
for (int index = 0; index < encodedBytes.Length; index++)
{
builder.AppendFormat("%{0}", Convert.ToString(encodedBytes[index], 16));
}
return builder.ToString();
}
}
Se começar com http, que é um link pra uma página, ele retorna o link somente. Senão, ele percorre caractere por caractere do link e codifica os caracteres pra não ter erro com caracteres especiais tipo &!@*!# !!!
Apesar de ter voltado pro projeto que eu tava antes mas, a vida não é sempre como a gente quer !
Fui !