我们如何通过angular上传二进制文件(.bin)并使用代码点火器在后端处理它

I'm creating an application in which the user will upload a binary file onto the server and the admin can view and verify the file. But the problem I am having is that the FileUploader class in angular is not accepting the file type .bin and not communicating it to my codeigniter backend server.

I have already tried multiple extension forms in the code like bin,application/octet-stream and even '*' so that it can accept all types of files. But none of it worked

MY angular code to upload file using FileUploader

var id = ($scope.id = new FileUploader({
      queueLimit: 1,
      url: "server/index.php/Upload/file"
    }));

// FILTERS

// a sync filter
id.filters.push({
  name: "syncFilter",
  fn: function(item /*{File|FileLikeObject}*/, options) {
    if (this.queue.length > 0) {
      id.clearQueue();
    }
    return this.queue.length < 1;
  }
});

// an async filter
id.filters.push({
  name: "asyncFilter",
  fn: function(item /*{File|FileLikeObject}*/, options, deferred) {
    setTimeout(deferred.resolve, 1e3);
  }
});

id.filters.push({
  name: "imageFilter",
  fn: function(item /*{File|FileLikeObject}*/, options) {
    var type = "|" + item.type.slice(item.type.lastIndexOf("/") + 1) + "|";
    return "|bin|".indexOf(type) !== -1;
  }
});

MY codeigniter file funtion which uploads the file and in return responds with its name

public function file() {
        $data = array();
        $config['upload_path'] = 'public/files';
        $config['allowed_types'] = 'bin';
        $config['max_size'] = 10000000;
        $config['max_width'] = 1920;
        $config['max_height'] = 1280;
        $file_name = $_FILES["file"]['name'];
        $newfile_name = preg_replace('/[^A-Za-z0-9]/', "", $file_name);

        $config['file_name'] = time() . $newfile_name;
        $this->load->library('upload', $config);
        $this->upload->do_upload('file');


        $data = $this->upload->data();
        echo json_encode($data);
        exit();
    }