5

我想从 Android Uri(onActivityResult 返回的那种)到一个简单的字节数组,以便将文件作为多部分消息的一部分上传。谁能提供一个如何从 Uri 到 byte[] 数组的示例?

编辑:我的意思是android.net.UriUri

4

1 回答 1

14

在将一些 SO 示例和 google 组代码放在一起后,我可以通过以下代码实现它:

Uri data = result.getData();   
ByteArrayOutputStream baos = new ByteArrayOutputStream();  
FileInputStream fis;  
try {  
    fis = new FileInputStream(new File(data.getPath()));  
    byte[] buf = new byte[1024];  
    int n;  
    while (-1 != (n = fis.read(buf)))  
        baos.write(buf, 0, n);  
} catch (Exception e) {  
    e.printStackTrace();  
}  
byte[] bbytes = baos.toByteArray();
于 2012-09-26T08:50:08.743 回答