做了个下载工具,可是下载中文名的就会报错,下载英文名的就可以,这是怎么回事 Mystream:=TmemoryStream.Create;aurl:='http://***/****/report/'+idhttp1.URL.PathEncode('APL提单.bmp');idhttp1.Get(aurl,Mystream);mystream.SaveToFile(gs_path+'\'+'APL提单.bmp');当文件名是中文的时候会报错 EIDHTTPProtocolException with message 'Http/1.1403 Forbindden' 当文件名是全英文的就可以了 怎么回事????
解决方案 »
- delphi 命名冲突问题
- 用鼠标滚轮实现DGBrid滚动条的滚动
- 【散分】冰天雪地裸体跪求都买不到车票,被逼提前十天步行回家过年
- DBGrid的属性设置?
- 如何将rtf文件导入数据库?
- 请教高手,如何将十进制:1234,转换成 7-bit characters 7位编码法 得到bit7码:31D98C06,求救!!!在线等待
- 怎样读取系统(2000,98)中的输入法?如何判断是否处于大写状态?
- 谁给个使用ADOQurey录入数据的sample?
- 安装工具那里有?
- ADOTable没有EmptyTable方法,只有自己写个循环逐记录的删吗?
- 谁给解释一下这段代码?
- fastreport如何实现只打刚编辑保存的记录呢?
可以用抓包工具对比下浏览器下载时的HTTP-GET包与Indy的GET包有什么不同。
通过对那个中文进行编码(gbk->utf8或UCS2->utf8)应该可以的
(浏览器能下载的,indy-http组件肯定办得到)另外,这里没提及Delphi版本,Delphi从某个版本开始支持unicode,字串处理方式略有不同,但原理是一样的。
检查楼上各位说的
我自己也写过一套小程序的,升级时,那个帮助文件就是中文,如"XXXX帮助系统.CHM"
就很正常的
这个你可参考一下的