마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Multipart POST값 전송질문입니다.

0 추천

multipart제가 하는 방식이 틀린부분이있는지 모르겠습니다.

전송시 PHP에서 POST값으로 넘어오지 않는 것 같습니다.

테스트용으로 작성해보았습니다.

Manifest에는 INTERNET 퍼미션 추가하였습니다.

url_address -> 서버php파일입니다.

 

private class test extends AsyncTask<String ,Void, String>{
    @Override
    protected String doInBackground(String... params) {
        String text = params[0];
        String boundary = "*****";
        String twotp = "--";
        String lineEnd = "\r\n";
        try {
            URL url = new URL(url_address);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);
            conn.setRequestMethod("POST");
            conn.setDoInput(true);
            conn.setDoOutput(true);



            DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
            wr.writeBytes(lineEnd + twotp + boundary + lineEnd);
            wr.writeBytes("Content-Disposition: form-data; name=\"text\"\r\n\r\n" + text);
            wr.writeBytes(lineEnd + twotp + boundary + twotp + lineEnd);
            wr.flush();

            //READ
            String result = "";
            if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
                InputStream is = conn.getInputStream();
                InputStreamReader isReader = new InputStreamReader(is, "UTF-8");
                BufferedReader reader = new BufferedReader(isReader);

                String line = "";
                while ((line = reader.readLine()) != null) {
                    result += line;
                }
                isReader.close();
                is.close();
            }

            return result;
        } catch (MalformedURLException e) {
            e.printStackTrace();
            return "error1";
        } catch (IOException e) {
            e.printStackTrace();
            return "error2";
        }

    }

    @Override
    protected void onPostExecute(String s) {
        Toast.makeText(getApplicationContext(), s , Toast.LENGTH_LONG).show();
    }
}

 

넥통령 (120 포인트) 님이 2016년 4월 24일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...