如何发布到PHP服务,等待此服务回发给客户端该文件

时间:2012-06-07 14:49:07

标签: php .net web-services post webclient

我在.NET中使用System.Net.WebClient client到PHP Web服务的post参数。 PHP工作并创建一个文件。我如何强制.NET客户端从php等待该文件并获取它。

  1. 如何将php发送到调用他的服务上会更好?
  2. 我如何在.Net客户端中等待该文件?

1 个答案:

答案 0 :(得分:1)

在PHP中,执行您需要能够创建文件的内容。然后创建该文件,获取内容并base64_encode数据。创建一个XML(例如)并输入文件名,文件mime_type和base64编码数据......

它可能看起来像这样(假设文件已经创建并存储在临时文件中,文件名存储在变量$my_filename_with_extension中,其mime_type存储在变量$my_file_mime_type中 - 如果您需要它...):

$data = base64_encode(file_get_contents(TEMP_DIR.$my_filename_with_extension));
$xml = '<'.'?xml version="1.0" encoding="UTF-8" ?'.'>';
$xml .= '<response>
    <filename>'.$my_filename_with_extension.'</filename>
    <mime_type>'.$my_file_mime_type.'</mime_type>
    <data>'.$data.'</data>
</response>';
echo $response;

然后在.NET应用程序中解析XML并执行您需要处理的文件数据(base64解码它以获取原始文件数据)。