如何创建一个接收Delphi发送的PHP文件的WebService?

时间:2013-04-20 18:58:12

标签: php web-services delphi rest file-upload

我有一个以这种方式工作的WebService:

  1. 我通过ftp将文件发送到远程服务器的特定文件夹中;
  2. 我在同一服务器中调用Web服务,以便可以在数据库中记录文件名和路径。只有这样,系统才能知道文件是否存在。
  3. 我是这样做的,因为我不知道如何制作一个可以通过HTTP POST直接接收文件的Web服务。

    服务器在PHP&的MySQL。

    发送文件并注册它的客户端是在Delphi中创建的。我现在用Indy。

    将来我打算把它变成完整的网络,但我的客户仍然沉迷于Windows。

    那么,我可以创建一个接收pdf文件的休息Web服务,并接收有关此文件的数据,例如“from”,“to”,“description”......?怎么样?

1 个答案:

答案 0 :(得分:1)

上传文件,您必须对WebService执行POST调用。 (您也可以执行PUT操作,但这个答案中没有涉及)。

php部分:

在php中,您使用$_FILES关联数组,其中包含使用上述POST方法上传到脚本的项目。

接受文件后,使用move_uploaded_file功能将文件保存在服务器磁盘中,然后您可以从那里读取文件并将其发布到数据库或您要执行的任何其他操作

我建议您阅读handling file uploads php手册中的参考文章。

您还可以在php file upload w3schools文章中找到一个有效的例子。

德尔福部分

有各种库允许您从Delphi执行HTTP操作。我首选的是Indy Sockets,您可以在StackOverflow上找到大量问题(和答案),例如:Http Post with indy包含flie附件。