1

MultipartEntity を使用して単一の画像をアップロードしたい。以下のコードを試してみました。

ただし、画像はアップロードされません。エラーは発生しません。そのための十分なライブラリを追加しました

  try {

            HttpClient httpClient = new DefaultHttpClient();
            HttpPost postRequest = new HttpPost(
                    "http://192.168.1.6/uploadimg.php");
            httpClient.getParams().setParameter(
                    CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
            File f = null;
            FileBody fo = null;

            MultipartEntity reqEntity = new MultipartEntity(
                    HttpMultipartMode.BROWSER_COMPATIBLE);

            // code for send image using post method
            f = new File("/mnt/sdcard/a.png");
            fo = new FileBody(f);
            reqEntity.addPart("uploaded", fo);

            Log.i("uploaded", "image added Parameter added");

            postRequest.setEntity(reqEntity);

            HttpResponse response = httpClient.execute(postRequest);

            BufferedReader reader = new BufferedReader(new InputStreamReader(

            response.getEntity().getContent(), "UTF-8"));

            String sResponse;

            StringBuilder s = new StringBuilder();

            while ((sResponse = reader.readLine()) != null) {

                s = s.append(sResponse);

            }
            Log.v("Upload photo", "Response" + s);

            // return getUploadResponce(s.toString());
            // Log.i("Response ", );

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();

        }

PHPファイル

<?php

$file = $_FILES['uploaded']

move_uploaded_file($_FILES['uploaded']['tmp_name'], $_FILES['uploaded']['name']);

            ?>
4

1 に答える 1

1

画像のパスの取得に問題があるようです。行コードの単一を変更します。

使用する:

String xtStorageDirectory = Environment.getExternalStorageDirectory()+ "/a.png";
 f = new File(xtStorageDirectory);

その代わり:

f = new File("/mnt/sdcard/a.png");

また、1 つ下のマニフェスト ファイルで、外部ストレージへのアクセス許可を与えていることを確認してください。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
于 2013-04-15T06:14:04.460 に答える