将大型(<50MB)文件从PHP服务器(用RADPHP编写)发送到Delphi Datasnap服务器(Delphi XE)的最佳方法是什么。由于连接问题,我更喜欢使用HTTP(S),但这对我来说是新的领域。
PHP服务器从用户的浏览器接受文件上传确定并可以对其进行编码(base_64)。 但 a)将它放入一个字符串中,这不是处理它的最佳方法 b)DataSnap服务器在接收到字符串
时崩溃,“超出最大行长度”Datasnap服务器有4个组件 - TDSServer,TDSServerClass,TDSHTTPService和TDSAuthenticationManager。 RADPHP服务器使用DSRestConnection组件。
答案 0 :(得分:1)
我对Datasnap不太熟悉,但你不能做类似的事情:
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;