簡體   English   中英

如何將大文件從RadPHP服務器發送到Delphi XE datasnap服務器

[英]How to send large files from RadPHP server to Delphi XE datasnap server

從PHP服務器(用RADPHP編寫)將大文件(<50MB)發送到Delphi Datasnap服務器(Delphi XE)的最佳方法是什么。 由於連接問題,我希望使用HTTP(S),但這對我來說是新領域。

PHP服務器從用戶的瀏覽器OK接受文件上傳並可以對其進行編碼(base_64)。 但是a)將其放入字符串中,這並不是處理字符串的最佳方法b)DataSnap服務器在接收到該字符串時崩潰,並顯示“超過最大行長”

Datasnap服務器具有4個組件-TDSServer,TDSServerClass,TDSHTTPService和TDSAuthenticationManager。 RADPHP服務器使用DSRestConnection組件。

我對Datasnap不太熟悉,但是您不能做類似的事情:

  • 客戶端將文件上傳到RadPHP服務器
  • 現在,您要將其發送到Datasnap服務器,您所能做的就是發送一個帶有鏈接的命令,以下載它,例如:

RadPHP:嗨,為您准備的新文件,這里是鏈接:“ http://www.mydomain.com/files/filename.extension”

Datasnap:發送響應,即“確定”,並開始下載,例如,在服務器端可以使用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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM