gpt4 book ai didi

php - 使用 PHP 从 HTTP POST 获取图像

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:11:42 26 4
gpt4 key购买 nike

因此,我使用 HTTP POST 通过 Internet 发送图像,并将其发送到我服务器上的 php 脚本。我希望能够拍摄并保存该图像。我对文本做得很好,但是当涉及到其他内容(例如图像)时,它会报错说它找不到变量,当我尝试 file_get_contents 时,它没有像那样。我也从 iPhone 发送图像,所以我的 POST 请求看起来像这样。

NSMutableData *postBody = [NSMutableData data];
[postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Disposition: form-data; name=\"media\"; filename=\"dummy.jpg\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Type: image/jpeg\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Transfer-Encoding: binary\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:imageData];
[postBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"--%@--\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postRequest setHTTPBody:postBody];

请求的其余部分已写好,但我真的不想发布所有内容。

但无论如何,这就是我发送请求的方式,在 php 服务器端,

<?php
echo "Some Message";
$nameValue = $_POST['name'];
echo "<br/>";
echo $nameValue;
$otherValue = $_POST['other'];
echo "<br/>";
echo $otherValue;
file_get_contents('dummy.jpg');
// or I tried this
$imageData = $_POST['media'];
?>

我似乎无法抓取图像。两次获取图像的尝试都失败了,我不知道为什么。有什么建议吗?

编辑:

我添加了打印语句 print_r($_FILES) 看看我会得到什么,它返回了以下内容。

(
[media] => Array
(
[name] => dummy.jpg
[type] =>
[tmp_name] =>
[error] => 1
[size] => 0
)
)

所以它似乎正在获取图像,至少是它的名称,但由于某种原因它没有获取实际数据并抛出一些错误。我想这可能是在 iPhone 方面,如果它没有发送数据并且我的 PHP 服务器出现错误。不过我不确定,有人经历过这样的事情吗?

编辑 2:

我终于让一切正常了。事实证明,所有内容的格式都正确我只是遇到文件图像大小上传限制问题。我发送的图像大约有 8MB,显然我们的服务器无法处理,所以我简单地降低了 jpeg 的质量,这个问题就解决了。然后还有一些权限问题,一点点 sudo chmod 都解决不了。感谢大家的建议和帮助,我希望我能接受不止一个答案!

最佳答案

错误代码“1”表示您尝试上传的图片太大。 http://php.net/manual/en/features.file-upload.errors.php

检查 php.ini 中的 upload_max_filesize 设置。

我看到您正在尝试继续使用 $_FILES['media']['name'],但实际上传的文件可通过 $_FILES['media']['tmp_name'] 中给出的路径获得。

为确保您正确处理上传,请参阅 php-docu: http://php.net/manual/en/features.file-upload.post-method.php

关于php - 使用 PHP 从 HTTP POST 获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11871668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com