#php #codeigniter
#php #codeigniter
Вопрос:
Я пытаюсь опубликовать файл на своей серверной части CodeIgniter самым простым из возможных способов.
Я хочу запустить вызов API из Postman следующим образом:
И моя функция PHP выглядит примерно так прямо сейчас:
public function runk_image_put()
{
$image = $this->upload->data();
$id = $this->get('id');
$this->response($image, REST_Controller::HTTP_OK);
}
Я почти уверен, что:
$image = $this->upload->data();
Это неправильный способ получения опубликованного файла. Каков правильный способ?
Комментарии:
1. Похоже, вам следует добавить соответствующий порт к вашему адресу.
localhost:8080...
Ответ №1:
function do_upload()
{
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$config['overwrite'] = TRUE;
$config['encrypt_name'] = FALSE;
$config['remove_spaces'] = TRUE;
if ( ! is_dir($config['upload_path']) ) die("THE UPLOAD DIRECTORY DOES NOT EXIST");
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('data')) {
echo 'error';
} else {
return array('upload_data' => $this->upload->data());
}
}
и в вашем контроллере используйте это:
$this->data['data'] = $this->do_upload();
и создайте форму как form-data или, если вы используете двоичный файл, отправьте заголовок того, какой файл похож на jpeg или что, а затем повторите файл
Комментарии:
1. Сначала я получил сообщение об ошибке «КАТАЛОГ ЗАГРУЗКИ НЕ СУЩЕСТВУЕТ», после создания этого каталога я получаю возвращенный объект. Как вставить этот файл в мою базу данных оттуда?
2. вы знаете, что лучше сохранять название изображения в базе данных, а не двоичное содержимое. обычно изображения с двоичным кодом используются для изображений с очень высокой степенью защиты. сделайте форму составной / form-data и получите имя изображения. var_dump $this->data[‘данные’], чтобы увидеть, какие поля там есть, а затем получить имя файла и сохранить в базе данных. файл находится в вашем проекте, и у вас есть название изображения… вы можете использовать его для загрузки на HTML-страницу