我成功地编写了一个应用程序,based on this blog post,但更简单,它使用POST请求通过HTTP流式传输图像。Android:在分享之前获取图像的文件大小(Intent.ACTION_SEND)
我无法弄清楚(在搜索网页并在android SDK文档中抓取内容后),我如何在分享之前获取图像的大小?
只有打开我的exampkle看到的输入流和其他地方的可能性:
ContentResolver cr = getContentResolver();
InputStream is = cr.openInputStream(uri);
给出的博客文章示例使用getBytesFromFile(is)
,所以一个能得到有大小,但是这是不是的解决方案。一些图像是巨大的,而android应用程序在堆空间中是有限的。我希望我的应用能够处理所有可能的图像大小(在通过Wifi共享时不会出现问题)。
因此,我唯一的选择是将输入流“转发”到某个HTTP输出流,这是我的工作,也是工作的。但是这种方法在发送之前不会给我图像的大小。
谢谢,我会努力。 –
根据http://developer.android.com/reference/java/io/InputStream.html:'“返回可读取或跳过的字节的估计数量:不会阻塞更多输入。”' 因此,很可能不会获得文件大小。 – mbonnin
我知道..但在写作时,我的测试中始终是文件的大小。 – flob