上传图片使用Dropbox API, Android



在捕获图像后,我不确定如何将位图作为文件上传。我是这样得到位图的:

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {    
        if(requestCode == CAM_REQUEST_CODE){
             if(resultCode == RESULT_OK){
                  final Bitmap image = (Bitmap)data.getExtras().get("data");
             }
        }
    }

使用Dropbox API,文件是这样上传的:

File file = new File("working-draft.txt");
FileInputStream inputStream = new FileInputStream(file);
Entry response = mDBApi.putFile("/magnum-opus.txt", inputStream,
                            file.length(), null, null);
Log.i("DbExampleLog", "The uploaded file's rev is: " + response.rev);

你可以这样做:

  • 创建ByteArrayOutputStream
  • 调用Bitmap.compress()将JPEG/PNG字节写入输出流
  • 从你刚刚输出的字节数组中创建一个ByteArrayInputStream
  • 将该输入流用于putFile()方法
  • 使用数组大小作为文件长度

不过,我对内存会很谨慎。如果是我,我会尝试找到一种方法来返回活动结果中的位图源,而不是实际的位图。

相关内容

  • 没有找到相关文章

最新更新