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

谢谢 老师 

时间: 2024-07-29 17:12:26

delphi idhttpserver 服务器的相关文章

如何解析DELPHI XE5服务器返回的JSON数据(翻译)及中文乱码

[plain] view plain copy print? <span style="font-size:14px;">一直想找如何解析JSON数据的说,今天终于找到有人发帖子了.之前有人说用superobject,Tlkjson,delphi json library,delphi  web unit等等.其实我是想找比较简单的解析方式.解析简单的json.下面是转载的坦然的源码. </span> [delphi] view plain copy print

Delphi idHttpServer接收Http Get请求解码问题

引用 Httpapp单元,使用Httpdecode函数进行解码 procedure TFrmMain.HTTPServerCommandGet(AThread: TIdPeerThread; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo); var RespStr,recvText: string; msgText: string; begin CoInitialize(nil); try try msg

Delphi 的知识体系

第一部分   快速开发的基础 第1章   Delphi 5下的Windows编程    1 1.1   Delphi产品家族    1 1.2  Delphi是什么    3 1.2.1   可视化开发环境    3 1.2.2   编译器的速度和已编译代码的效            率    4 1.2.3   编程语言的功能及其复杂性    4 1.2.4   数据库结构的灵活性和可扩展性    5 1.2.5   框架对设计和使用模式的扩充    5 1.3   历史回顾    5 1.3

delphi控件属性和事件

常用[属性] Action:该属性是与组件关联的行为,允许应用程序集中响应用户命令 Anchors:与组件连接的窗体的位置点 Align:确定组件的对齐方式 AutoSize:确定组件是否自动调整其大小 BiDiMode:(所有组件) 为从右向左写的语言提供支持 BoundsRect:定义组件边框矩形(只适用于运行时) Borderwidth:(窗口化组件)边框的宽度 BorberStyle:设置组件边框形状(样式) Brush:可确定组件的风格和颜色 Caption:使用该属性可指定标注组件的

[转]Delphi 控件属性和事件

常用[属性] Action:该属性是与组件关联的行为,允许应用程序集中响应用户命令 Anchors:与组件连接的窗体的位置点 Align:确定组件的对齐方式 AutoSize:确定组件是否自动调整其大小 BiDiMode:(所有组件) 为从右向左写的语言提供支持 BoundsRect:定义组件边框矩形(只适用于运行时) Borderwidth:(窗口化组件)边框的宽度 BorberStyle:设置组件边框形状(样式) Brush:可确定组件的风格和颜色 Caption:使用该属性可指定标注组件的

Delphi XE5 常见问题解答

Delphi XE5 常见问题解答 有关于新即时试用的问题吗?请看看 RAD Studio 即时试用常见问答. 常见问题 什么是 Delphi? Embarcadero? Delphi? XE5 是易于学习的应用开发,适合构建针对Android 和iOS 的真正原生应用.并将它们快速应用到应用商店和企业的团队.使用相同的源代码库构建应用,无需牺牲应用质量.连通性或性能.通过原生Android 和iOS 支持,延伸到世界上最大规模可访问的移动市场. 有哪些版本可以使用,并且版本之间有什么区别? D

学习咏南BLOG的datasanp 用流下载文件,同时记录WINDOWS系统日志

服务器端: function TServerMethods1.getfile(filename: string): TStream; var    FilePath,DownFile:String;    FS:TFileStream;    log:TEventLogger ;//需要在USES里加上 Vcl.SvcMgr,才可以引用TEventLogger begin    FilePath:='d:\xe\';    DownFile:=FilePath+FileName;    log:

delphi中的idhttpserver如何才能收到idhttp发送来的exe\rar文件呢

http://zhidao.baidu.com/link?url=-q2oXqYCKBZ9OgFDEHAcQwQEY_NroHcqGvVfKW67X5sF9LdjAAB_HPXQo04VxStFVS7yo_LkxLRWjgDoZXRdd_ delphi中的idhttpserver如何才能收到idhttp发送来的exe\rar文件呢 2008-06-18 00:01nkym0626 | 浏览 1811 次  悬赏:5 编程语言服务器软件 我用idhttp发送文件,idhttpserver只能收到t

Delphi 的TStringBuilder防止服务器内存碎片化

Delphi 2009+ 的 System.SysUtils提供了一个类似.Net的StringBuilder,用于存储字符数组. 很多人不明白为什么要用TStringBuilder, Delphi中有string,有几乎所有TStringBuilder的功能函数, System.SysUtils中还有TStringHelper方便扩展String,更方便String的使用. 从Delphi提供的源码看,TStringBuilder与string最大的区别是,TStringBuilder是可以预