使用Postman通过HTTP POST上传图像

时间:2017-01-22 12:09:28

标签: php image http postman

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

邮差“客户”方:

  1. 选择 POST 请求
  2. 选择HEADER Content-Type ,其值为 multipart / form-data
  3. 在正文标签中选择表单数据介绍 = image_test,从文本更改为文件并搜索图片,例如:photo.png
  4. 发送POST请求。
  5. 在PHP脚本中我只有: echo '<img src="data:multipart/form-data,' . $_POST['image_test'] .'"/>';

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

2 个答案:

答案 0 :(得分:1)

有些代码有助于了解您的目标。您可以尝试以base64编码将图像发送回客户端。有关示例,请参阅enter image description here

答案 1 :(得分:0)

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

  1. 选择POST请求。
  2. 在正文中选择表格 - 数据更改类型为文件并输入密钥。
  3. 服务器将使用如下示例正确处理它:

    <!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>