2

ImageView に画像を取得したら、可能な限り最も簡単な方法で画像を Web サーバーに送信するにはどうすればよいですか??

これを使用してギャラリーから画像を取得しました:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK)
        try {
            // We need to recyle unused bitmaps
            if (bitmap != null) {
                bitmap.recycle();
            }
            InputStream stream = getContentResolver().openInputStream(
                    data.getData());
            bitmap = BitmapFactory.decodeStream(stream);
            stream.close();
            imageView.setImageBitmap(bitmap);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    super.onActivityResult(requestCode, resultCode, data);
}

その画像をimageViewに設定しました。アップロード者に画像のプレビューを表示するためにこれを行っています。その画像をWebサーバーにアップロードする方法(可能な限り最も簡単な方法)ありがとう

4

2 に答える 2

3

私はPHPでこれを行っていませんが、base64文字列を使用して.NETで画像を送信しました.

画像を base64 に変換し、この文字列をサーバーに送信します。サーバーはこのbase64を元の画像に変換します

画像をバイト[]に変換するには、次のコードを試してください

private void setPhoto(Bitmap bitmapm) {
        try {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            bitmapm.compress(Bitmap.CompressFormat.JPEG, 100, baos); 

            byte[] byteArrayImage = baos.toByteArray();
            String imagebase64string = Base64.encodeToString(byteArrayImage,Base64.DEFAULT);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
于 2012-05-21T08:53:28.373 に答える
0

これは、この URL のコードです (コメントで指摘しました - How do I send a file in Android from a mobile device from a server using http? ):

String url = "http://yourserver";
File file = new File(Environment.getExternalStorageDirectory(),
        "yourfile");
try {
    HttpClient httpclient = new DefaultHttpClient();

    HttpPost httppost = new HttpPost(url);

    InputStreamEntity reqEntity = new InputStreamEntity(
            new FileInputStream(file), -1);
    reqEntity.setContentType("binary/octet-stream");
    reqEntity.setChunked(true); // Send in multiple parts if needed
    httppost.setEntity(reqEntity);
    HttpResponse response = httpclient.execute(httppost);
    //Do something with response...

} catch (Exception e) {
    // show error
}

十分に単純だと思います。の代わりに、タイプの Your を使用できるFileFileInputStream(file)思いますが、よくわかりません...streamInputStream

于 2012-05-21T09:45:22.253 に答える