2017-01-22 14 views
3

Я пытался какое-то время отправить изображение через Postman на простой PHP-скрипт, который должен отображать отправленное изображение. Шаги я последовал были:Загрузить изображение через HTTP POST с Postman

Почтальон "клиент" сторона:

  1. Выберите POST запрос
  2. Выберите ЗАГОЛОВОК Content-Type со значением Multipart/форм-данных
  3. В вкладка «Тело» выберите form-data введите ключ = image_test, change from Текст до Файл и поиск изображения, например: photo.png
  4. Отправить запрос POST.

В PHP скрипт я просто: echo '<img src="data:multipart/form-data,' . $_POST['image_test'] .'"/>';

Это решение не работает для меня, хотя с print_r($_POST) я могу увидеть кодированного изображения. Может ли это быть проблемой хозяина (https://ide.c9.io) или почтальона? Я сделал несколько других тестов с изображениями Postman и base64, а вкладка Postmanне смогла отобразить декодированные изображения; единственным способом было получить доступ через браузер.

+0

Я могу понять, что вы получаете изображение на сервере с print_r ($ _ POST) ?, так что я предполагаю, почтальон выполняя свою работу? Что вы видите при использовании print_r? – moplin

ответ

1

Некоторые коды помогут понять, что вы пытаетесь сделать. Вы можете попробовать отправить изображение обратно клиенту в кодировке base64. См. How to convert an image to base64 encoding? для примера

0

Эта ссылка полезна, чтобы найти решение этого простого примера. В основном процесс отправки данных (в данном случае изображения) из Postman выглядит следующим образом:

  1. Выберите запрос POST.
  2. В теле выберите тип данных для изменения формы в файл и введите ключ для него.

Сервер будет правильно обработать его с помощью, например, как этот:

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