我成功地編寫了一個應用程序,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