Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 从HttpClient向API Rest CodeIgniter 3提交文件_Angular_Api_Rest_Codeigniter_Request Headers - Fatal编程技术网

Angular 从HttpClient向API Rest CodeIgniter 3提交文件

Angular 从HttpClient向API Rest CodeIgniter 3提交文件,angular,api,rest,codeigniter,request-headers,Angular,Api,Rest,Codeigniter,Request Headers,我试图在Codeignite3中从Angular CLI向API Rest应用程序构建提交一个文件,但响应是未知错误 角码服务: constructor( private http: HttpClient) { } submitImg( archivo: File, id: string ){ const formData = new FormData(); formData.append('file', archivo); return this.http.post(

我试图在Codeignite3中从Angular CLI向API Rest应用程序构建提交一个文件,但响应是未知错误

角码服务:

constructor( private http: HttpClient) { }

submitImg( archivo: File, id: string ){
    const formData = new FormData();
    formData.append('file', archivo);
    return this.http.post(`${ base_api_url }/upload/do_upload/${ id}`, formData,  {
        headers: {
          'X-API-KEY': localStorage.getItem('token'),
        }
      });
  }
API Rest代码Igniter3代码:

public function do_upload_post() {
        $userID = $noticesID = $this->uri->segment(3);
        $postData = $this->post();
        $config = array(
            'upload_path' => "uploads/usuarios/profile/", //path for upload
            'allowed_types' => "gif|jpg|png|jpeg", //restrict extension
            'max_size' => '100',
            'max_width' => '1024',
            'max_height' => '768',
            'file_name' => $userID . '_img_' . date('ymdhis')
        );
        $this->load->library('upload', $config);
        if ($this->upload->do_upload('file')) {
            $data = array('upload_data' => $this->upload->data());
            $path = $config['upload_path'] . '/' . $data['upload_data']['orig_name'];
            $resp = array(
                'ok' => TRUE,
                'msg' => 'Imagen (' . $data["upload_data"]["file_name"] . ') subida correctamente',
            );
            $this->response($resp);
        } else {
            $error = array('error' => $this->upload->display_errors());

            $resp = array(
                'ok' => FALSE,
                'msg' => 'Erro al subir imagen',
                'error' => $error
            );
            $this->response($resp, REST_Controller::HTTP_BAD_REQUEST);

        }
    }
在这一点上,我不知道它是否也是一个标题设置,或者我的代码中缺少了一些东西。所附图片中的错误:


过去我也遇到过类似的问题,我通过设置标题来解决:

header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");
$method = $_SERVER['REQUEST_METHOD'];
if ($method == "OPTIONS") {
   die();
}
解决方案是将头添加到我的函数\u post api rest