正如上面的問題所述,我試圖從okhttp3上傳文件到服務器。將文件從android okhttp上傳到codeigniter
我總是在codeIgniter部分的方法中收到'您沒有選擇要上傳的文件'。
這裏是我的代碼
的Android:
public void sendItem(File item) { Response response = null; MediaType mediaType = MediaType.parse(FileUtils.getMimeType(item)); try { RequestBody formBody = new MultipartBody.Builder().addFormDataPart("item", item.getName(), RequestBody.create(mediaType, item)).build(); Request request = new Request.Builder().url("index.php").post(formBody).build(); response = client.newCall(request).execute(); int statusCode = response.code(); // always 500 } catch (IOException e) { e.printStackTrace(); } finally { if (response != null) response.close(); } }
服務器代碼:
function upload(){ $config['upload_path'] = '.../assets/...'; $this->load->library('upload', $config); $this->upload->initialize($config); $media = 'item'; if (!$this->upload->do_upload($media)) { $error = array('error' => $this->upload->display_errors()); print_r($error); }else{ $stuff = $this->upload->data(); return $stuff ; } }
我到底做錯了什麼? 謝謝!
你在'$ media'中有什麼? – Kristiyan
codeigniter上傳庫僅適用於PHP 5.6及以上版本,因此請確保正確。 –