PHP 用curl发送文件给JAVA后台,JAVA可以接收文件吗?

有个需求,需要从PHP服务器发送一个文件到JAVA服务器,使用的是curl,JAVA能够接收到文件,保存在指定目录并返回图片地址给PHP端?代码如下
PHP端

header('content-type:text/html;charset=utf8');
$ch = curl_init();
//加@符号curl就会把它当成是文件上传处理
$data = array('media'=>'@'.$_FILES['file']['tmp_name']);
//目标JAVA端接口
$url = "http://www.example.com/uploadfile.action";
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$result = curl_exec($ch);
$result = json_decode($result, true);
$err = curl_error($ch);
curl_close($ch);
print_r( json_decode($result, true));

如果这种方法行不通,有什么替代方法呢?

阅读 7.4k
6 个回答

可以的 你用的是post方法 curl会使用http协议提交表单数据,java里接收表单就可以了

可以将文件进行base64_encode,将这段数据作为一个post字段传输

java端接受到数据,base64_decode,将数据写入到文件

这样即可完成文件传输

行得通。。只要java支持就行了。

base64 传输 记得替换'+','/','=' 否则容易出错

这就是一个正常的调用上传文件接口...
跟java后台对接好.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题