Intereting Posts
Как я могу поддерживать службу на неопределенный срок В чем разница между этими двумя кнопками? Программирование на Android Ищете объяснение post / pre / set Translate (в объекте Matrix) и как их использовать Компонент диаграмм подсвечника для android Как я могу создать собственный собственный магазин приложений для Android? Почему для Samsung Galaxy TAB 7.0 не работает иерархический просмотрщик? Как оптимизировать «имя класса» в макете Android XML? Прочтите pdf-файл из папки с данными Переместить маркер с помощью gps в google map android JQuery mobile, удалить предыдущую страницу Почему мой ListView отстает от новых устройств, но быстро работает на старых устройствах? Компиляция строки как кода во время выполнения на Android Как удалить общие предпочтения при удалении приложения в android С Android KitKat chrome: // проверка / мониторинг сети устройств, просмотр всех данных запроса Поврежденный взгляд ActionBar

Загрузите большое видео на 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;