Qiniu 七牛问题解答
用户在客户端对一些文件名字带有中文的链接处理错误的一些说明和解决方案
问题解决方案
1,首先假如你有个带有中文名字的链接:(这里的链接只用来显示用,可能访问不了)
http://down.51guanjian.net/163邮箱.rar
2,然后用户在网页端请求的时候却是这样的url:
原因解释:用户对带中文的url进行了错误的urlencode,他用的不是正常的utf-8的urlencode。
3,解决方案:
1,第一种方案:可以在后台代码处理下文件名字,然后将url拼接起来使用:
我用c#的代码演示下:
代码为:
protected void Button1_Click(object sender, EventArgs e)
{
System.Text.Encoding encoding = System.Text.Encoding.UTF8;
string HttpUtility_UrlEncode = System.Web.HttpUtility.UrlEncode(TextBox1.Text);
string HttpUtility_UrlDecode = System.Web.HttpUtility.UrlDecode(HttpUtility_UrlEncode);
TextBox2.Text = HttpUtility_UrlEncode;
}
前端界面为:
拼接出来的为:
http://down.51guanjian.net/163%e9%82%ae%e7%ae%b1.rar
这个url跟之前我提到的错误的链接能看出区别吧。
2,这里我给你演示下快速的看下自己的编码是否正确的方式。是通过浏览器来测试