【发布时间】:2012-11-24 23:23:14
【问题描述】:
我正在尝试向具有发布数据和文件上传的 php 文件发送发布请求,这是我发送的内容、设置标题的代码、我拥有的 php 文件以及什么我从 php 文件中返回:([图像文件内容] 是我发送的图像文件的二进制数据的占位符)
我的问题是 $_POST 和 $_FILES 都没有显示空数组。我正在想办法解决这个问题。
//我要发送到服务器的数据:
- 边界 内容配置:发布;名称='param1' 价值1 - 边界 内容配置:发布;名称='field2' 价值2 - 边界 内容配置:发布;名称='field3' 价值3 - 边界 内容处置:表单数据;名称='文件';文件名='app/native/assets/sampleFile.jpg' 内容类型:图片/jpg 内容传输编码:二进制 [图片文件内容] - 边界 - -------------------------------------------------- ---对于我的标题,我有:
request.setRawHeader("Content-Type", "mulipart/form-data, boundary=boundary");
//data holds the string above
request.setRawHeader("Content-Length", QString::number(data.length()).toAscii());
php 文件:
<?php
echo "\npost:\n\n";
print_r($_POST);
echo "\nfiles:\n\n";
print_r($_FILES);
?>
php 文件的结果:
邮政: 大批 ( ) 文件: 大批 ( )【问题讨论】:
-
几周前我自己也遇到了这个问题。您是否尝试过仅发送文件或仅发布数据以查看它们是否出现?我们最终发现需要将 php.ini 设置为接受更大的文件。
-
您的
multipart/form-data是 mulipart。尝试var_dumping$_REQUEST变量 -
你从什么环境发送请求?
标签: php file-upload http-post multipartform-data