Android: загрузка больших файлов с помощью MultipartEntity

В соответствии с этим ответом «Android загружает видео на удаленный сервер с использованием данных многострочной формы HTTP» Я делаю все шаги.

Но я не знаю, как я кодирую серверную сторону! Я имею в виду простую страницу PHP, которая служит моей загруженной команде.

И еще один вопрос: YOUR_URL (третья строка следующего фрагмента) должен быть адресом этой страницы PHP?

private void uploadVideo(String videoPath) throws ParseException, IOException { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(YOUR_URL); FileBody filebodyVideo = new FileBody(new File(videoPath)); StringBody title = new StringBody("Filename: " + videoPath); StringBody description = new StringBody("This is a description of the video"); MultipartEntity reqEntity = new MultipartEntity(); reqEntity.addPart("videoFile", filebodyVideo); reqEntity.addPart("title", title); reqEntity.addPart("description", description); httppost.setEntity(reqEntity); // DEBUG System.out.println( "executing request " + httppost.getRequestLine( ) ); HttpResponse response = httpclient.execute( httppost ); HttpEntity resEntity = response.getEntity( ); // DEBUG System.out.println( response.getStatusLine( ) ); if (resEntity != null) { System.out.println( EntityUtils.toString( resEntity ) ); } // end if if (resEntity != null) { resEntity.consumeContent( ); } // end if httpclient.getConnectionManager( ).shutdown( ); } 

Solutions Collecting From Web of "Android: загрузка больших файлов с помощью MultipartEntity"

Этот код работал правильно, и PHP-код, который я должен использовать, прост как это:

 <?php $file_path = "uploads/"; $file_path = $file_path . basename( $_FILES['videoFile']['name']); if(move_uploaded_file($_FILES['videoFile']['tmp_name'], $file_path)) { echo "success"; } else{ echo "upload_fail_php_file"; } ?> 

Обратите внимание, что videoFile должен точно совпадать с

reqEntity.addPart("videoFile", filebodyVideo);

И главная проблема, с которой вы, вероятно, сталкиваетесь, – это значение по умолчанию post_max_size и upload_max_filesize в конфигурации сервера! По умолчанию слишком мало, и когда вы пытаетесь загрузить большие файлы, PHP-скрипт возвращается: «upload_fail_php_file» без каких-либо ошибок или исключения. Поэтому не забудьте установить эти значения как большие, как достаточно …

Наслаждайтесь кодированием.