Intereting Posts
Приложение Android Studio 0.2, использующее Google Maps – Gradle modify Есть ли способ отключить аппаратное ускорение только для Android 4.0.3? В то же время более одного поставщика услуг Каков наилучший подход к разработке многоплатформенного мобильного приложения? Не удается обновить RecyclerView из моего класса модели? Граница в форме xml Как иметь более широкую прокрутку изображения в фоновом режиме Ошибка с Maven Android: POM для com.google.android.gms: google-play-services: jar: 13.0.0 отсутствует, информация о зависимости недоступна SoftKeyboard не отображается для вновь отображаемого фрагмента Как правильно настроить Android Studio (minSdkVersion из) AndroidManifest.xml? Отображение MapView с отсутствующими фрагментами с «x» в центре Как предотвратить эффекты изменения размера шрифта системы в приложении Android? Как использовать функцию bulkInsert () в android? Невозможно нажать EditText после добавления в WindowManager Установите единый параметр AlertDialog по умолчанию в android

Загрузите большое видео на PHP-сервер из приложения Android Crashes

Я загружаю большое видео на сервер php, что приводит к сбою приложения.

Итак, я использовал conn.setChunkedStreamingMode (maxBufferSize);
Но это дает ОТВЕТ: запрос слишком большой

Серверная сторона Видео принимается в кодированной форме, поэтому я использовал Base64 для кодирования.

Я использую веб-сервис JSON для загрузки видео

uploadvideo(&userid,&video,&title,&description,&type) 

Я искал многих, но не могу получить решение. Может ли кто-нибудь сказать мне

Uploading audio, video or image files from Android to server

http://www.mail-archive.com/android-developers@googlegroups.com/msg92856.html

Какой из них лучше и КАК ДОБАВИТЬ ПАРАМЕТРЫ?

Я использовал код как-то вроде

 try { FileInputStream fileInputStream = new FileInputStream(myFile.getAbsolutePath()); //(new File(selectedPath) ); // open a URL connection to the Servlet URL url = new URL(urlString); // Open a HTTP connection to the URL conn = (HttpURLConnection) url.openConnection(); // Allow Inputs conn.setDoInput(true); // Allow Outputs conn.setDoOutput(true); // Don't use a cached copy. conn.setUseCaches(false); // Use a post method. conn.setRequestMethod("POST"); conn.setChunkedStreamingMode(maxBufferSize); conn.setRequestProperty("Connection", "Keep-Alive"); conn.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary); dos = new DataOutputStream( conn.getOutputStream() ); dos.writeBytes(twoHyphens + boundary + lineEnd); dos.writeBytes("Content-Disposition: form-data; name=\"userid\""+ lineEnd + lineEnd); dos.writeBytes(strUserid+lineEnd); bytesAvailable = fileInputStream.available(); bufferSize = Math.min(bytesAvailable, maxBufferSize); buffer = new byte[bufferSize]; // read file and write it into form... bytesRead = fileInputStream.read(buffer, 0, bufferSize); while (bytesRead > 0) { dos.write(buffer, 0, bufferSize); bytesAvailable = fileInputStream.available(); bufferSize = Math.min(bytesAvailable, maxBufferSize); bytesRead = fileInputStream.read(buffer, 0, bufferSize); } String encodeurl = Base64.encodeBytes(buffer); dos.writeBytes(twoHyphens + boundary + lineEnd); dos.writeBytes("Content-Disposition: form-data; name=\"video\""+ lineEnd + lineEnd); dos.writeBytes(encodeurl+lineEnd); dos.writeBytes(twoHyphens + boundary + lineEnd); dos.writeBytes("Content-Disposition: form-data; name=\"title\""+ lineEnd + lineEnd); dos.writeBytes(strVideoName+lineEnd); dos.writeBytes(twoHyphens + boundary + lineEnd); dos.writeBytes("Content-Disposition: form-data; name=\"description\""+ lineEnd + lineEnd); dos.writeBytes(strVideoComments+lineEnd); dos.writeBytes(twoHyphens + boundary + lineEnd); dos.writeBytes("Content-Disposition: form-data; name=\"type\""+ lineEnd + lineEnd); dos.writeBytes(type+lineEnd); responseMsg = conn.getResponseMessage(); // close streams System.out.println("Debug File is written"); fileInputStream.close(); dos.flush(); dos.close(); } catch (MalformedURLException ex) { System.out.println(("Debug Error: " + ex.getMessage())); } catch (IOException ioe) { System.out.println("Debug Error: " + ioe.getMessage()); } //------------------ read the SERVER RESPONSE try { inStream = new DataInputStream ( conn.getInputStream() ); System.out.println("Input Stream :: "+inStream.toString()); String str; while (( str = inStream.readLine()) != null) { System.out.println("Debug Server Response "+str); } inStream.close(); } catch (IOException ioex){ System.out.println("Debug Error: " + ioex.getMessage()); } 

Вы должны разделить большой файл на мелкие части, а затем попытаться отправить. И присоединяйтесь к этой небольшой части на сервере

Отправляйте данные в куски, используя conn.setChunkedStreamingMode(1024); И буферизация должна быть int maxBufferSize = 1 * 1024;