delphi idhttpserver 服务器
|
【冒泡】lazarus(964489899) 10:01:27
哥 能复制成 字符串吗?
|
|
【冒泡】lazarus(964489899) 10:01:44
我想快速输入一下
![]() ![]() |
|
【传说】CHINY(19730622) 10:01:52
LocalDoc:=HtmlDirectory +ARequestInfo.Document ;
if FileExists(LocalDoc) then //文件存在 begin if AnsiSameText(ARequestInfo.Command, 'HEAD') then begin ResultFile := TFileStream.create(LocalDoc, fmOpenRead or fmShareDenyWrite); try AResponseInfo.ResponseNo := 200; AResponseInfo.ContentType := GetMIMEType(LocalDoc); AResponseInfo.ContentLength := ResultFile.Size; finally ResultFile.Free; end; end else begin {如果ContentDisposition 为空,自己加上attachment: filename="index.html"; 客户端就会作为附件来下载,而不是显示} AResponseInfo.ContentDisposition:=Format('inline: filename="%s"',[ExtractFileName(LocalDoc)]); AResponseInfo.ResponseNo := 200; if LowerCase(ExtractFileExt(LocalDoc))='.js' then AResponseInfo.ContentType:='application/x-javascript' else AResponseInfo.ContentType :=GetMIMEType(LocalDoc); //提交发送文档的MIMEType AResponseInfo.ServeFile(AContext, LocalDoc); end; end else //未找到文档,返回错误 begin AResponseInfo.ContentText := 'Error Params or Bad Key'; end; end; |
|
【传说】CHINY(19730622) 10:02:12
AResponseInfo.ContentType := GetMIMEType(LocalDoc);
主要是这句,文件类型 |
|
【冒泡】lazarus(964489899) 10:02:28
感谢老师的分享 |
|
【活跃】山东日照远宏<15906335806> 10:08:34
如果真为了手机传文件的话,你这真的就是把简单的事情给复杂化了
|
|
【活跃】山东日照远宏<15906335806> 10:08:41
如果有其它用途,不表
|
|
【冒泡】lazarus(964489899) 10:11:17
有其他用途啊。 比如自己搞个服务器,自己上传下载文件 多方便 。 两个电脑可以互传文件
|
|
【传说】CHINY(19730622) 10:11:47
传文件还是FTP吧
|
|
【冒泡】lazarus(964489899) 10:12:33
恩恩
|
|
【冒泡】lazarus(964489899) 10:12:55
我百度了一下 大部分 文件类型都有。 rar 文件的 类型我没找到。
|
|
【冒泡】lazarus(964489899) 10:13:01
先试一下 图片吧
|
|
【传说】CHINY(19730622) 10:16:02
看下
TIdMimeTable 对象 Id组件自带的 |
|
【传说】CHINY(19730622) 10:16:15
GetFileMIMEType
|
|
【冒泡】lazarus(964489899) 10:17:33
恩恩 。
|
|
【活跃】山东日照远宏<15906335806> 10:18:10
application/x-rar-compressed
|
|
【冒泡】lazarus(964489899) 10:18:18
我刚才试了 pdf 类型。 手机打开网页 直接下载文件 后缀 是htm pc 是正常的
|
|
【冒泡】lazarus(964489899) 10:19:43
|
|
【冒泡】lazarus(964489899) 10:19:54
@山东日照远宏 谢谢老师
|
|
【冒泡】lazarus(964489899) 10:20:34
@CHINY 老师 我的代码 有问题吗? 手机下载就是不行。 下载完毕 后缀一直是htm
|
|
【传说】CHINY(19730622) 10:21:28
这个不能照抄
|
|
【冒泡】lazarus(964489899) 10:22:05
这个 要去掉? 还是改成其他形式
|
|
【活跃】山东日照远宏<15906335806> 10:23:00
判断文件格式,设置输出文件类型
|
|
【活跃】山东日照远宏<15906335806> 10:23:11
通过扩展名
|
|
【传说】CHINY(19730622) 10:23:21
|
|
【冒泡】lazarus(964489899) 10:23:47
我再试试
|
|
【冒泡】lazarus(964489899) 10:44:37
好了。 解决了 ,就是文件类型的问题。 。 另外是手机浏览器太烂的问题。 换了个浏览器就啥问题都没有。
|
|
【冒泡】lazarus(964489899) 10:44:45
谢谢 老师
|
delphi idhttpserver 服务器的更多相关文章
- 如何解析DELPHI XE5服务器返回的JSON数据(翻译)及中文乱码
<span style="font-size:14px;">一直想找如何解析JSON数据的说,今天终于找到有人发帖子了.之前有人说用superobject,Tlkjso ...
- Delphi idHttpServer接收Http Get请求解码问题
引用 Httpapp单元,使用Httpdecode函数进行解码 procedure TFrmMain.HTTPServerCommandGet(AThread: TIdPeerThread; AReq ...
- Delphi XE5 常见问题解答
Delphi XE5 常见问题解答 有关于新即时试用的问题吗?请看看 RAD Studio 即时试用常见问答. 常见问题 什么是 Delphi? Embarcadero? Delphi? XE5 是易 ...
- Delphi 的知识体系
第一部分 快速开发的基础 第1章 Delphi 5下的Windows编程 1 1.1 Delphi产品家族 1 1.2 Delphi是什么 3 1.2.1 可视化开 ...
- Delphi经验总结(1)
先人的DELPHI基础开发技巧 ◇[DELPHI]网络邻居复制文件 uses shellapi; copyfile(pchar('newfile.txt'),pchar('//computername ...
- Delphi 2010初体验,是时候抛弃Delphi 7了
Delphi 2010已于近日由Embarcadero公司发布.作者Kim Madsen作为一名资深的Delphi开发者,在他的博客中谈到了Delphi 2010的新性能.它的使用感受以及对Delph ...
- Delphi 2010
Delphi 2010已早由Embarcadero公司发布.作者Kim Madsen作为一名资深的Delphi开发者,在他的博客中谈到了Delphi 2010的新性能.它的使用感受以及对Delphi语 ...
- [转]Delphi 控件属性和事件
常用[属性] Action:该属性是与组件关联的行为,允许应用程序集中响应用户命令 Anchors:与组件连接的窗体的位置点 Align:确定组件的对齐方式 AutoSize:确定组件是否自动调整其大 ...
- Delphi XE2有什么新功能
具体内容见PDF Delphi XE2有什么新功能Delphi XE2提供(offers)了令人兴奋(exciting)的新功能,让您能够建立高度可视化的,在Windows,Mac和iOS上的业务应用 ...
随机推荐
- exsi中使用vSphere客户端复制克隆虚拟机
免费的VMWare ESXi5.5非常强大,使用ESXi经常会遇到这样的问题,我需要建立多个虚拟机,系统一个一个安装很麻烦.VMware ESXi.VMware vCenter Server 和 vS ...
- [Web 前端] 004 html 小练习
1. 锚点 用法 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- POJ-1064.Cablemaster.(二分法枚举值求最优值)
题目链接 本题大意:给你n个长度为value[ i ]的长木板,让你切割成为等长的k份,问你切割的最大长度是多少. 本题思路:其实很容易可以想到先找到一个上界和一个下界,开始枚举里面的所有长度,取最长 ...
- [2019杭电多校第二场][hdu6599]I Love Palindrome String(回文自动机&&hash)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6599 题目大意为求字符串S有多少个子串S[l,r]满足回文串的定义,并且S[l,(l+r)/2]也满足 ...
- C/C++二维数组名和二级指针
转载 :https://blog.csdn.net/wu_nan_nan/article/details/51741030 作者:吴一奇 1. 指针1.1 一个指针包含两方面:a) 地址值:b) 所 ...
- #python# error:illegal multibyte sequence
读取html遇到illegal multibyte sequence 1.第一种情况:更换编码方式 查看网页源码,找到charset,得到该网页编码方式 <meta http-equiv=&qu ...
- Elasticsearch7.X 入门学习第七课笔记-----Mapping多字段与自定义Analyzer
原文:Elasticsearch7.X 入门学习第七课笔记-----Mapping多字段与自定义Analyzer 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处 ...
- 数组去重ES6
原文链接:https://juejin.im/post/5b17a2c251882513e9059231 1,去除简单类型 //ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ...
- Jquery Ajax简单封装(集中错误、请求loading处理)
Jquery Ajax简单封装(集中错误.请求loading处理) 对Jquery Ajax做了简单封装,错误处理,请求loading等,运用到项目中集中处理会很方便. 技术层面没有什么好说的,请求是 ...
- load 和 initialize 的区别
官方文档 Apple的官方文档很清楚地说明了 initialize 和 load 的区别在于: load 是只要类所在文件被引用就会被调用,而 initialize 是在类或者其子类的第一个方法被调用 ...


感谢老师的分享