Загрузка изображения в PHP-приложение

#php #android #file-upload

#php #Android #загрузка файла

Вопрос:

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

При нажатии кнопки загрузить оно должно загрузиться на сервер. Я тоже хочу знать, как обрабатывать загрузку файлов на PHP через Android-приложение.

Я новичок в Android. Пожалуйста, направьте меня

Ответ №1:

Возьмите из этого потока:

 public void doUpload(String filepath,String filename) { 
            HttpClient httpClient = new DefaultHttpClient(); 
            try { 
                    httpClient.getParams().setParameter("http.socket.timeout", new Integer(90000)); // 90 second 
                    post = new HttpPost(new URI(YOUR_SERVER_ADDRESS)); 
                    File file = new File(filepath); 
                    FileEntity entity; 
                    if (filepath.substring(filepath.length()-3, filepath.length ()).equalsIgnoreCase("txt") || 
                            filepath.substring(filepath.length()-3, filepath.length ()).equalsIgnoreCase("log")) { 
                            entity = new FileEntity(file,"text/plain; charset="UTF-8""); 
                            entity.setChunked(true); 
                    }else { 
                            entity = new FileEntity(file,"binary/octet-stream"); 
                            entity.setChunked(true); 
                    } 
                    post.setEntity(entity); 
                    post.addHeader(FILENAME_STR, filename); 
                    HttpResponse response = httpClient.execute(post); 
                    if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { 
                            Log.e(TAG,"--------Error--------Response Status line code:" response.getStatusLine()); 
                    }else { 
                            // Here every thing is fine. 
                    } 
                    HttpEntity resEntity = response.getEntity(); 
                    if (resEntity == null) { 
                            Log.e(TAG,"---------Error No Response !!!-----"); 
                    } 
            } catch (Exception ex) { 
                    Log.e(TAG,"---------Error-----" ex.getMessage()); 
                    ex.printStackTrace(); 
            } finally { 
                      httpClient.getConnectionManager().shutdown(); 
            } 
    } 
  

Комментарии:

1. то есть в основном это действует как форма, которая отправляет файл на эту страницу?

2. Я предполагал, что у вас есть обработчик загрузки файлов (mime-multipart) на вашем PHP-сервере. Верно?

3. это первый раз, когда я пытаюсь связать Android с php. я знаю, как написать обработчик файлов php .. это то же самое? Тогда $ _POST должен предоставить мне весь контент, верно?

4. можете ли вы привести мне пример, как использовать этот метод .. я пробовал, но у меня это не работает..

5. Я не знаю PHP, поэтому могу сказать вам, что может быть не так. Вы получаете какую-то ошибку?