【发布时间】:2021-10-22 05:18:57
【问题描述】:
我正在尝试使用 Java 和 PHP 将文件从我的计算机上传到我的网络服务器。
工作原理: 客户端,Java 应用程序使用以下方法将文件转换为字节数组:
byte[] bytes = Files.readAllBytes(file.toPath());
这个字节数组是通过 POST 请求发送到我的网络服务器的。
什么不起作用: php 文件接收到 bytearray 并无法将其转换为原始文件。 php代码:
$bytes = $_POST['file'];
$bytesStr = pack('C*', $bytes);
file_put_contents($_POST['fileName'], $bytesStr);
你知道如何解决这个问题吗?
【问题讨论】:
-
如果您只是将原始字节转储到没有编码的 POST 正文中,那么您会在
php://inputstream 中找到这些字节。如果您希望它被 PHP 的 POST 处理程序捕获,您需要将请求编码为multipart/form-data。
标签: java php post communication