I'm trying to upload image to server from my Android application with Loopj library. On server side I'm using Codeigniter and file upload library. But Codeigniter always give me this error, even i tried with allowed extensions.
The file type you are attempting to upload is not allowed
This is my image upload code
public void post_image() throws JSONException
{
RequestParams params = new RequestParams();
params.put("id_objek", id_objek);
params.put("id_user",id_user);
File myFile = new File(url_gambar);
try {
params.put("user_file", myFile);
} catch(FileNotFoundException e) {}
ApiRequest.post(url_gambar, params, new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
// If the response is JSONObject instead of expected JSONArray
}
@Override
public void onSuccess(int statusCode, Header[] headers, JSONArray res) {
try {
JSONObject obj = res.getJSONObject(0);
String status = obj.getString("status");
String message = obj.getString("message");
if(status=="1"){
Toast.makeText(getApplication(),"Sukses:"+message,Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplication(),"Terjadi kesalahan:"+message,Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
And this is my file upload code on server side
if (empty($_FILES['user_file']['name'])) {
echo '['.json_encode(array(
'status'=>"0",
'message'=>'Gambar kosong'
)).']';
}else{
$info=null;
$config['upload_path'] = './images/gallery';
$config['allowed_types'] = 'gif|jpg|jpeg|png|jpeg|bmp';
$config['max_size'] = '5000';
$config['max_width'] = '5000';
$config['max_height'] = '2000';
$config['remove_spaces'] = 'true';
$this->load->library('upload');
$this->upload->initialize($config);
if (!$this->upload->do_upload('user_file')) {
echo '['.json_encode(array(
'status'=>"0",
'message'=>$this->upload->display_errors().'-'.$_FILES['user_file']['name']
)).']';
} else {
$info = $this->upload->data();
$thumb_config['image_library'] = 'gd2';
$thumb_config['source_image'] = $info['full_path'];
$thumb_config['create_thumb'] = TRUE;
$thumb_config['maintain_ratio'] = TRUE;
$thumb_config['width'] = 600;
$thumb_config['height'] = 600;
$this->load->library('image_lib');
$this->image_lib->initialize($thumb_config);
$this->image_lib->resize();
if ($nama_gambar == null)
$nama_gambar = $info['file_name'];
echo '['.json_encode(array(
'status'=>"1",
'message'=>$nama_gambar
)).']';
}
}
Any help or advice would be greatly appreciated!