Видео не может быть загружено на серверную часть [реагировать на родной + codeigniter] - PullRequest
0 голосов
/ 25 апреля 2019

Я столкнулся с этой проблемой со вчерашнего дня и до сих пор не могу найти решение для этого.Я просто не имею ни малейшего представления, почему видео нельзя было загрузить с помощью сервера rest.

Я использую реагировать на сборщик документов с axios для загрузки файловна стороне сервера, и он отлично работает с изображением, но не видео.Всегда возвращается ошибка

Тип файла, который вы пытаетесь загрузить, не разрешен.

Из моего собственного встроенного ответа - отправлять файлы:

_submitPost(){
  const configuration = {
    headers: {
      "Content-type": "multipart/form-data; charset=UTF-8"
    }
  }

  const data = new FormData();
  if(this.state.fileUri != null){
    data.append('files', {
      uri: this.state.fileUri,
      type: this.state.fileType,
      name: this.state.fileName
    });
  }

  axios.post("api-url-goes-here", data, configuration).then(res=>{
    if(res.data.status == true){
        console.log('uploaded')
    } else {
        console.log('failed to upload')
    }
  })
}

Тип файла video/mp4 и имя файла video_20190424_125833.mp4

Со стороны сервера CodeIgniter

if(isset($_FILES['files']) && !empty($_FILES['files']['name'])){
    $postAttc = $this->upload_files(POSTS_DIR, 'files', 'mp4|3gp|jpg|jpeg|png|gif');
} else {
    $postAttc = null;
}

$this->response([
    'http_status_code' => REST_Controller::HTTP_OK,
    'status' => true,
    'postAttc' => $postAttc,
    'statusMsg' => 'OK'
], REST_Controller::HTTP_OK);

А вот моя функция upload_files () для загрузки файла

public function upload_files($upload_path, $fileName, $file_types){
    $config['upload_path']          = $upload_path;
    $config['allowed_types']        = $file_types;
    $config['max_size']             = 0;

    $config['file_name'] = uniqid();

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

    if($this->upload->do_upload($fileName)){
        $uploadData = $this->upload->data();
        $file_name = $uploadData['file_name'];

        return $file_name;
    } else {
        return $this->upload->display_errors();
    }
}

Я не уверен, что не так с моим кодом, потому что я пытался применить точно такой же код для веб-версии кзагрузите видео, и это было успешно, но не с загрузкой с реагировать родной.

...