首页 文章

使用 Postman 通过 HTTP POST 上传图像

提问于
浏览
3

我一直试图通过 Postman 将图像发送到一个简单的 PHP 脚本,该脚本应该显示发送的图像。我遵循的步骤是:

邮差“客户”方面:

  • 选择 POST 请求

  • 选择 HEADER Content-Type,其值为 multipart/form-data

  • 在 Body 选项卡中选择 form-data 引入 key = image_test,从 Text 更改为 File 并搜索图像,例如:photo.png

  • 发送 POST 请求。

在 PHP 脚本中我只有:echo '<img src="data:multipart/form-data,' . $_POST['image_test'] .'"/>';

这个解决方案对我不起作用,虽然print_r($_POST)我能看到编码图像。这可能是主持人(https://ide.c9.io)还是邮递员的问题?我用 Postman 和 base64 图像进行了一些其他测试,Postman 的 Display 选项卡无法显示解码图像;唯一的方法是通过浏览器访问。

2 回答

  • 1

    一些代码有助于理解您要做的事情。您可以尝试以 base64 编码将图像发送回客户端。有关示例,请参见如何将图像转换为 base64 编码?

  • 0

    该链接对于找到这个简单示例的解决方案很有用。基本上,Postman 发送数据(在本例中为图像)的过程如下:

    • 选择 POST 请求。

    • 在正文中选择 form-data 将类型更改为文件并输入密钥。

    服务器将使用如下示例正确处理它:

    <!DOCTYPE html>
    <html>
        <head>
            <title>Receiving data with Postman</title>
        </head>
    
        <?php 
            $dir = '/';
            $file = basename($_FILES['image']['name']);
    
            if (move_uploaded_file($_FILES['image']['tmp_name'], $file)) {
                echo "Ok.\n";
    
            } else {
                echo "Error.\n";
            }
        ?>
        <img src="<?=$file?>"></img>
    
    </html>
    

相关问题