0

我想以字节数组的形式将图像上传到服务器。这里我使用表面视图和“拍照”按钮,当用户单击拍照按钮时,然后

    TakePicture.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        // TODO Auto-generated method stub
        camera.takePicture(null, null, callback);
    }
});

和图片回调是:

       PictureCallback callback = new PictureCallback(){

 public void onPictureTaken(**byte[] data**, Camera camera) {
  // TODO Auto-generated method stub

     try {
            //async task for storing the photo
         Log.i("Picture Taken.", "Picture Taken.");

            new SavePhotoTask(CameraPreviewActivity.this, data).execute();
        } catch (final Exception e) {
            //some exceptionhandling
            Log.i("Save Photo exception",e.getMessage());
        }

}}; 现在我在这里使用这个字节数组“数据”

我想以字节 [] 的形式将此图像发送到网络服务器..

我该怎么办??

4

2 回答 2

0

将字节数组转换为base64

String encodedImage = Base64.encodeToString(byteArrayImage, Base64.DEFAULT);

也看到这个链接

于 2012-05-08T11:41:44.007 回答
0

1)发送相机意图

public void onCameraClick(View view) {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    imageFile = FileUtil.newFile();
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(imageFile));
    startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}

2)当图片准备好时获取文件路径,从文件中读取字节并将字节发送到服务器。

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE && resultCode == RESULT_OK){
            if (resultCode == RESULT_OK) {
                final String path = imageFile.getAbsolutePath();
// get file from path and send bytes to server
            }
        }
    }
于 2012-05-08T11:42:56.133 回答