首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传输文件用户NuSOAP

传输文件用户NuSOAP
EN

Stack Overflow用户
提问于 2010-06-09 04:44:23
回答 1查看 2.3K关注 0票数 3

我在使用NuSOAP传输文件时遇到问题。我知道您可以读取文件并将其作为字符串进行传输,但它不起作用。下面是一个示例:

客户端:

代码语言:javascript
复制
require('libraries/nusoap/nusoap.php');
$url = "http://www.example.com";

$client = new nusoap_client($url);
args = array('file_name' => 'myfile.zip');
$return = $client->call('getFile', array($args));

if(empty($return){
    echo "WHY IN THE WORLD IS THIS EMPTY!!!!!";
}

服务器:

代码语言:javascript
复制
require('libraries/nusoap/nusoap.php');
$server = new nusoap_server;

$server->configureWSDL('server', 'urn:server');

$server->wsdl->schemaTargetNamespace = 'urn:server';

$server->register('getFile',
   array('value' => 'xsd:string'),
   array('return' => 'xsd:string'),
   'urn:server',
   'urn:server#getFile');

function getFile($value){

$returnData= "";
$filePath=$value['file_path'];
$mode="r";

  if (floatval(phpversion()) >= 4.3) {
         $returnData= file_get_contents($filePath);
     } else {
         if (!file_exists($filePath)){ 
          return -3;
         }

         $handler = fopen($filePath, $mode);
         if (!$handler){ 
          return -2;
         }

         $returnData= "";
         while(!feof($handler)){
             $returnData.= fread($handler, filesize($filePath));
         }//end  while

         fclose($handler);
     }//end else

return $returnData;
}

这才是真正奇怪的部分。如果我返回文件名或文件大小或类似的东西,它将工作。它不会返回文件本身。请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2017-05-03 18:42:15

在服务器端的getFile函数中,您应该使用return base64_encode($returnData);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3001153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档