delphi - 如何将大文件从RadPHP服务器发送到Delphi XE datasnap服务器

标签 delphi datasnap radphp

将大型(<50MB)文件从 PHP 服务器(用 RADPHP 编写)发送到 Delphi Datasnap 服务器(Delphi XE)的最佳方法是什么。由于连接问题,我更愿意使用 HTTP(S),但这对我来说是新领域。

PHP 服务器接受用户浏览器上传的文件并对其进行编码 (base_64)。 但 a)将其放入字符串中,这不是处理它的最佳方式 b) DataSnap 服务器在接收字符串时因“超出最大行长度”而崩溃

Datasnap 服务器有 4 个组件 - TDSServer、TDSServerClass、TDSHTTPService 和 TDSAuthenticationManager。 RADPHP 服务器使用 DSRestConnection 组件。

最佳答案

我对 Datasnap 不太熟悉,但你不能做如下的事情吗:

  • 客户端上传文件到RadPHP服务器
  • 现在您想将其发送到 Datasnap 服务器,您可以做的就是发送一 strip 有下载链接的命令,如下所示:

RadPHP:嘿,给您的新文件,链接如下:“http://www.mydomain.com/files/filename.extension”

Datasnap:发送响应,即“OK”,并开始下载,在服务器端您可以使用 TIdHTTP 例如。

其实现可能类似于:

procedure DatasnapServerClass.NewFile(const ALink: string);
var
  LIDHTTP: TIdHTTP;
begin
// create instance of TIdHTTP, and call the link to 
// download the file to your desired local folder
// using ALink as the URL
end;

关于delphi - 如何将大文件从RadPHP服务器发送到Delphi XE datasnap服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9468936/

相关文章:

mysql - 通过 FireDac 和 MySql 的主/详细数据快照 ¿为什么在一个客户端中写入详细记录的数据在第二个客户端中看不到?

delphi - DataSnap 和数据库连接/登录

android - 如何开始使用 RadPHP XE2 和 Android?

德尔福 2007 : save only the breakpoint options in the DSK file?

delphi - 我的可执行文件中的防病毒软件误报

delphi - 对角画笔样式给我黑色区域

c++ - 在 Windows 对话框中使用 FONT 和 SetBkMode 绘制文本

Delphi:如何在 datasnap-xe 服务器中注册 ZLibCompression 过滤器

php - Embarcadero RAD PHP XE2 - 浏览器中的页面控件和滚动条