用webRequest下载中文名的文件时
  string url = "http://myHost/中文.file";
  WebRequest wreq = WebRequest.Create(url);
  WebResponse wresp = wreq.GetResponse();这时候就报错,显示404 not found,即使对url进行UrlEncode编码,也是一样。请问要如何才可以下载有中文名的文件呢?

解决方案 »

  1.   

    string url = "http://myHost/"+ Server.UrlEncoding(中文)+".file";这样子也不行吗?你在IE上打开你STRING里的URL行不行?
      

  2.   

    发现如果是偶数个汉字的文件就出现404 not found 的错误,即使直接在IE里面输入http://myhost/中文.file也是一样,要怎么才能解决阿?
      

  3.   

    如果在IE里面也是一样的话,在确保文件的确存在的情况下,那就是因为某些原因无法访问,比如权限设置或者IIS设置。我在IE里面可以访问像这样的文件名:
    http://home.js.chinavnet.com/WebDisk/11000647081/我的音乐/两只蝴蝶.mp3
    所以我想还是从别的地方找找原因吧。
      

  4.   

    专门用你上面的代码实地测试了一下, string url = "http://home.js.chinavnet.com/WebDisk/11000647081/我的音乐/两只蝴蝶.mp3";
    WebRequest wreq = WebRequest.Create(url);
    WebResponse wresp = wreq.GetResponse();断点之后可以看到
    ContentLength 4247266 long
    ContentType "audio/mpeg" string
    说明是可以获得文件信息的,而且这还是在没有UrlEncode的情况下。
    所以,还是我上面说的,从其它地方去找找原因看吧。