indy idhttpserver有关下载的两个问题
http://aawwmate.blog.163.com/blog/static/77528256201092733950315/
indy idhttpserver有关下载的两个问题
2010-10-27 15:39:50| 分类: DELPHI|举报|字号 订阅
下载LOFTER我的照片书 |
1、IdHttpServer返回网页浏览器没直接显示,而是弹出下载对话框的解决方法
最近用Indy10的TIdHttpServer写一个简单的http服务器,原来按网上一个indy9的方法返回服务器目录下的一个html文档,代码如下:
procedure TForm3.IdHTTPServer1CommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
const s='D:\MyVcl\Test\idCGIRunner\server\web\index.html';
begin
//....
AResponseInfo.ServeFile(AContext,s);
//...
end;
结果在在游览器里打开时老出现下载对话框.试了好久,查看生成的http头如下:
Connection: close
Content-Disposition: attachment: filename="index.html";
Content-Type: text/html
Content-Length: 1265
原来它把网页当附件传回来了,再跟Idhttpserver的代码,发现当AResponseInfo.ContentDisposition为空时它会自己加上attachment: filename="index.html";这个参数,经试验,当给AResponseInfo.ContentDisposition随便设一个值结果都是正常的.不过网上查看Content-Disposition的资料说正规的应该有个inline的参数......因此,改成下面就一切OK了:
procedure TForm3.IdHTTPServer1CommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
const s='D:\MyVcl\Test\idCGIRunner\server\web\index.html';
begin
AResponseInfo.ContentDisposition:=Format('inline: filename="%s"',[ExtractFileName(s)]);
AResponseInfo.ServeFile(AContext,s);
end;
2、下载文件时,直接从网页打开而没有弹出保存对话框的问题解决
AResponseInfo.CustomHeaders.Values['Content-Disposition'] :='attachment; filename="'+文件名+'"';
转载于:https://www.cnblogs.com/delphi-xe5/p/5457069.html
indy idhttpserver有关下载的两个问题相关推荐
- 解决微信扫码下载的两个方法
解决微信扫码下载有两个方法:一是去腾讯开发平台http://open.qq.com/上传自己的应用,二是弄一个提示页,提示用户用其他浏览器打开链接. 上传应用到腾讯开发平台 把应用上传到腾讯开发平台, ...
- springside4配置环境时无法下载到两个核心包
最近在搭建 springside4开发环境,配置环境时无法下载到两个核心包: 查看官方文档,发现江南白衣已经对这个问题做了重大提示"要自己build" 先build test 里的 ...
- STM32_基础入门_程序下载的两种方式
一.ISP串口下载 1.所涉及工具:MDK+FlyMcu 2.硬件连接 3.连接步骤 1.搜索并选择对应串口 2.选择要下载的hex文件,将"编程前重装文件"打勾 3.勾选&quo ...
- 免费资源下载:两套超棒的UI界面设计素材集
日期:2012-7-6 来源:GBin1.com 每周我们都会在互联网上给大家收集最新最酷的web免费素材,今天我们带给大家两套超棒的UI界面素材集.相信大家如果应用到自己的网站开发和设计中,肯定会 ...
- python-网络图片下载(两种方式)
利用python进行网络图片下载(两种方式) 1:方式一 1:代码 # coding=utf-8 """ @author: jiajiknag 程序功能: 图片批量下载_ ...
- 前端实现HTML转PDF下载的两种方式
方式一:使用html2canvas和jspdf插件实现 该方式是通过html2canvas将HTML页面转换成图片,然后再通过jspdf将图片的base64生成为pdf文件.实现步骤如下: 1,下载插 ...
- 将B站上下载的两个m4s文件合成为mp4文件
如何将B站下载的video.m4s和audio.m4s合成test的MP4文件 下载程序的安装包 链接:https://pan.baidu.com/s/1Ce4zv5wXIvAWyGEXXY4Y3Q ...
- 下载网络图片两种方式
比如因特网上有一图片资源http://img.7799520.com/00356c0e-1725-4dc2-b091-5db958b6c637,现在要把该资源下载到本地,下面介绍如下两种方式. 方式一 ...
- JS 下载文件两种方式总结
后端返回Blob对象(文件流),完成导出.下载功能: 1.介绍Blob Blob Blob 对象表示一个不可变.原始数据的类文件对象.它的数据可以按文本或二进制的格式进行读取,也可以转换成 Reada ...
最新文章
- 如何为模型选择合适的损失函数?所有ML学习者应该知道的5种回归损失函数
- JAVA 线上故障排查完整套路!牛掰!
- 查看mysql数据库大小、表大小和最后修改时间
- 期望最大化(EM)算法
- MySQL数据库如何杀死会话_如何彻底杀掉不良用户会话
- ASP实例:利用缓存提高数据显示效率
- when is oPropagatedProperties of detail view being generated
- 学习笔记3-C语言-基础
- Java最后_Java最后一次总结
- Activity与AppCompatActivity全屏实现方法
- Spring(3)---spring IOC实例
- Spring Session + Redis 实现 Session 共享,附带 Nginx 集群
- 电赛机器视觉——激光点定位
- 华为、中兴嵌入式(C)笔试题
- 计算机无法识别外接光驱,【win7无法识别光驱怎么办】win7外置光驱无法识别
- mysql错误1197,【MySQL故障处理】 Seconds_Behind_Master= NULL Error_code: 1197
- ArcGIS地理要素数据获取及地图制作
- 自然语言处理之新手上路
- 前端三件套系例之CSS——CSS3基础样式
- shell 文件连接