Загрузка файла с клиента отдыха на сервер отдыха - PullRequest
7 голосов
/ 29 декабря 2010

Я создал сервер отдыха, используя библиотеку кодового сервера отдыха, созданную PhilSturgeon:

github.com / philsturgeon / CodeIgniter-restserver

Теперь я использую клиент Codeignitor rest:

github.com / philsturgeon / CodeIgniter-restclient

до get / post данных с / на остальной сервер, и я успешно могу получить / опубликовать нормальные данные.

Как лучше всего отправить файлы изображений на сервер отдыха с клиента отдыха?

Кроме того, как кто-то может получить доступ к API и выполнить все операции get / post из C # .NET при условии, что на остальном сервере используется дайджест-аутентификация? [любая библиотека доступна?]

Ответы [ 5 ]

5 голосов
/ 04 сентября 2015

Сервис Simple Rest Post для загрузки и сохранения файла с любого клиента Rest

public function product_post()
{
    $uploaddir = './uploads/products/';
    $file_name = underscore($_FILES['file']['name']);
    $uploadfile = $uploaddir.$file_name;

    if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
        $dataDB['status'] = 'success';       
        $dataDB['filename'] = $file_name;
     } else {
        $dataDB['status'] =  'failure';       
     }
     $this->response($dataDB, 200);
}
0 голосов
/ 26 июня 2017

После поиска в течение более 1 дня, наконец, это то, что у меня сработало

public function upload_post()
    {
      $config['upload_path'] = './uploads/';
      $config['allowed_types'] = '*';

      $this->load->library('upload');
      $this->upload->initialize($config);

      if ( ! $this->upload->do_upload('file'))
      {
        $error = array('error' => $this->upload->display_errors());
         print_r($error);
      //  $this->load->view('upload_form', $error);
      }
      else
      {
        $data = array('upload_data' => $this->upload->data());
        print_r($data);
      //  $this->load->view('upload_success', $data);
      }
    }
0 голосов
/ 22 июня 2012

Я фактически смог использовать собственный класс загрузки файлов CodeIgniters для решения этой же проблемы: https://stackoverflow.com/a/11163068/1188523

0 голосов
/ 13 сентября 2013

Эти решения не работают для меня. Однако я разместил свое решение здесь:

Codeigniter и RestServer. Как загрузить изображения?

0 голосов
/ 01 мая 2012

Как предположил Амит, вы можете отправить содержимое файла file_get_contents('foo.jpg') или сделать что-то более верное спецификации и сделать что-то вроде:

POST / images

Тип содержимого: изображение / JPEG

Тогда для тела вы просто устанавливаете содержимое изображения (или любой тип файла, который вы запускаете).

Затем вы можете получить это в своем PHP с помощью:

file_get_contents('php://input');

Это будет иметь содержимое вашего изображения, так что вы можете сохранить его где угодно.

...