Android에서 더 큰 파일을 업로드하는 동안 메모리 부족 오류가 표시됩니까?

Nitesh kabra

나는 안드로이드 응용 프로그램에서 일하고 있습니다. 서버에 파일을 업로드해야합니다. 4MB 미만의 파일 크기를 사용하면 성공적으로 업로드됩니다. 메모리 부족 예외를 표시하는 것보다 큰 파일 크기를 사용하는 경우. 제발 도와주세요. 내 코드는 아래에 나와 있습니다.

HttpURLConnection conn = null;
    DataOutputStream dos = null;
    DataInputStream inStream = null;
    String existingFileName = Environment.getExternalStorageDirectory()
             + "/LoadImg/second.flv";;
    String lineEnd = "\r\n";
    String twoHyphens = "--";
    String boundary = "*****";
    int bytesRead, bytesAvailable, bufferSize;
    byte[] buffer;
    int maxBufferSize = 1*1024*1024;
    String responseFromServer = "";
    String urlString = "http://172.16.1.193/service.svc/UploadFile?filename=test.mp4";

    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
            .permitAll().build();

    StrictMode.setThreadPolicy(policy);
    try {
        // ------------------ CLIENT REQUEST
        FileInputStream fileInputStream = new FileInputStream(new File(
                existingFileName));
        // 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.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=\"uploadedfile\";filename=\""
                + existingFileName + "\"" + lineEnd);
        dos.writeBytes(lineEnd);
        // create a buffer of maximum size
        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);
        }

        // send multipart form data necesssary after file data...
        dos.writeBytes(lineEnd);
        dos.writeBytes(lineEnd);
        dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);

        // close streams
        Log.e("Debug", "File is written");
        fileInputStream.close();
        dos.flush();
        dos.close();

    } catch (MalformedURLException ex) {
        System.out.println("upload MalformedURLException >>>> "
                + ex.toString());
    } catch (IOException ioe) {
        System.out.println("upload IOException >>>> " + ioe.toString());
    }

    // ------------------ read the SERVER RESPONSE
    try {

        inStream = new DataInputStream(conn.getInputStream());
        String str;

        while ((str = inStream.readLine()) != null) {
            System.out.println("Server response >>>> " + str);
        }

        inStream.close();

    } catch (IOException ioex) {
        System.out.println("inStream exception >>>> "
                + ioex.getMessage().toString());
    }
mcd

다운로드 비디오 코드를 asynctask에 넣었습니까? Honeycomb에서는 StrictMode가 기본적으로 켜져 있습니다. Android Honeycomb : AsyncTask를 사용하고 엄격 모드가없는 경우에도 NetworkOnMainThreadException?

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

윈도우 서비스를 통해 큰 엑셀 파일을 업로드하는 동안 메모리 부족 예외

분류에서Dev

Android 앱에서 대용량 파일을 업로드하면 버퍼링에도 불구하고 메모리 부족 오류가 발생합니다.

분류에서Dev

동일한 패키지의 버튼에서 JFrame을 여는 동안 메모리 부족 오류가 발생합니까?

분류에서Dev

Android 활동의 UI를로드하는 동안 Java 메모리 부족 오류

분류에서Dev

Android 장치에서 디버깅하는 동안 메모리 부족 오류

분류에서Dev

Jboss의 메모리 부족 오류가 로그 파일에 항목을 생성합니까?

분류에서Dev

단일 활동에서 여러 GIF를 사용하는 동안 메모리 부족 오류

분류에서Dev

TextWrangler에서 .txt 파일 가져 오기-메모리 부족 오류 코드 : -108

분류에서Dev

base64를 업로드하면 Android 앱에서 메모리 부족 오류가 발생합니다.

분류에서Dev

스크래치에서 VGG16을 구현하는 동안 메모리 부족 오류

분류에서Dev

Mongodb 빌드 / 컴파일 오류 : Ubuntu에서 메모리 부족

분류에서Dev

메모리 부족 오류를 제공하는 큰 비디오 파일 다운로드

분류에서Dev

다른 디렉토리에서 헤더 파일을 참조하는 동안 오류가 발생했습니다.

분류에서Dev

활동을 여러 번 다시로드 할 때 메모리 부족 오류

분류에서Dev

안드로이드 범용 이미지 로더 메모리 부족 오류

분류에서Dev

5.3.8에서 5.4.1 태피스트리로 업그레이드하는 동안 빈 명명 된 스타일 시트에 대한 렌더링 오류가 발생 함

분류에서Dev

루트의 페이지에 대해 작업하는 동안 폴더의 페이지에 대한 부트 스트랩 드롭 다운 메뉴가 손상되었습니다. 두 그룹 모두 동일한 외부 헤더 파일을 php_include합니다.

분류에서Dev

Android : GridView를 스크롤하는 동안 메모리 부족 예외가 발생합니까?

분류에서Dev

ImageView로 활동을 반복적으로 열면 메모리 부족 오류가 발생합니다.

분류에서Dev

큰 파일을 저장할 때 메모리 부족 오류 발생

분류에서Dev

활동을 재 작성하면 메모리 부족 오류가 발생합니다.

분류에서Dev

메모리가 제한된 시스템에서 큰 파일에 쓸 때 mapFailed () 오류를 피하는 방법

분류에서Dev

Django에서 양식을 통해 파일을 업로드하는 동안 오류가 발생했습니다.

분류에서Dev

OpenBSD는 스왑 공간을 사용하지 않는 동안 메모리가 부족합니다

분류에서Dev

VICE 에뮬레이터에서 PRG 파일을로드 한 후 C64 메모리 부족 오류

분류에서Dev

메모리 vb.net에 큰 목록을 만들 때 메모리 부족 오류

분류에서Dev

각 분할에 헤더 줄을 추가하는 동안 큰 gzip 파일 분할

분류에서Dev

C #에서 Zendesk Api 2에 파일을 업로드하는 동안 오류가 발생했습니다.

분류에서Dev

Android의 팝업 메뉴에서 새 활동을 시작하는 동안 내 앱에 오류가 표시됨

Related 관련 기사

  1. 1

    윈도우 서비스를 통해 큰 엑셀 파일을 업로드하는 동안 메모리 부족 예외

  2. 2

    Android 앱에서 대용량 파일을 업로드하면 버퍼링에도 불구하고 메모리 부족 오류가 발생합니다.

  3. 3

    동일한 패키지의 버튼에서 JFrame을 여는 동안 메모리 부족 오류가 발생합니까?

  4. 4

    Android 활동의 UI를로드하는 동안 Java 메모리 부족 오류

  5. 5

    Android 장치에서 디버깅하는 동안 메모리 부족 오류

  6. 6

    Jboss의 메모리 부족 오류가 로그 파일에 항목을 생성합니까?

  7. 7

    단일 활동에서 여러 GIF를 사용하는 동안 메모리 부족 오류

  8. 8

    TextWrangler에서 .txt 파일 가져 오기-메모리 부족 오류 코드 : -108

  9. 9

    base64를 업로드하면 Android 앱에서 메모리 부족 오류가 발생합니다.

  10. 10

    스크래치에서 VGG16을 구현하는 동안 메모리 부족 오류

  11. 11

    Mongodb 빌드 / 컴파일 오류 : Ubuntu에서 메모리 부족

  12. 12

    메모리 부족 오류를 제공하는 큰 비디오 파일 다운로드

  13. 13

    다른 디렉토리에서 헤더 파일을 참조하는 동안 오류가 발생했습니다.

  14. 14

    활동을 여러 번 다시로드 할 때 메모리 부족 오류

  15. 15

    안드로이드 범용 이미지 로더 메모리 부족 오류

  16. 16

    5.3.8에서 5.4.1 태피스트리로 업그레이드하는 동안 빈 명명 된 스타일 시트에 대한 렌더링 오류가 발생 함

  17. 17

    루트의 페이지에 대해 작업하는 동안 폴더의 페이지에 대한 부트 스트랩 드롭 다운 메뉴가 손상되었습니다. 두 그룹 모두 동일한 외부 헤더 파일을 php_include합니다.

  18. 18

    Android : GridView를 스크롤하는 동안 메모리 부족 예외가 발생합니까?

  19. 19

    ImageView로 활동을 반복적으로 열면 메모리 부족 오류가 발생합니다.

  20. 20

    큰 파일을 저장할 때 메모리 부족 오류 발생

  21. 21

    활동을 재 작성하면 메모리 부족 오류가 발생합니다.

  22. 22

    메모리가 제한된 시스템에서 큰 파일에 쓸 때 mapFailed () 오류를 피하는 방법

  23. 23

    Django에서 양식을 통해 파일을 업로드하는 동안 오류가 발생했습니다.

  24. 24

    OpenBSD는 스왑 공간을 사용하지 않는 동안 메모리가 부족합니다

  25. 25

    VICE 에뮬레이터에서 PRG 파일을로드 한 후 C64 메모리 부족 오류

  26. 26

    메모리 vb.net에 큰 목록을 만들 때 메모리 부족 오류

  27. 27

    각 분할에 헤더 줄을 추가하는 동안 큰 gzip 파일 분할

  28. 28

    C #에서 Zendesk Api 2에 파일을 업로드하는 동안 오류가 발생했습니다.

  29. 29

    Android의 팝업 메뉴에서 새 활동을 시작하는 동안 내 앱에 오류가 표시됨

뜨겁다태그

보관