3

新问题;

我在内存中有一张位图;

Private Bitmap MyPicture;

然后,我从相机的成像器中填充 MyPicture。我需要使用来自 apache commons 的 FTP 客户端上传该照片。

fcon.storeFile("filename", new BufferedInputStream(MyPicture.????));

但是 apache 想要一个 BufferedInputStream。如何将内存位图转换为内存流?

多谢你们!

4

2 回答 2

14

这就是我一直在寻找的;

ByteArrayOutputStream stream = new ByteArrayOutputStream();
si.Image.compress(CompressFormat.JPEG, 100, stream);
InputStream is = new ByteArrayInputStream(stream.toByteArray());

最后一行是缺少的链接...

于 2011-08-30T15:16:58.323 回答
0

将位图转换为字节数组很简单:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
MyPicture.compress(Bitmap.CompressFormat.PNG, 100, baos);
baos.toByteArray();

然后您可以创建一个BufferedInputStream将字节写入文件。

于 2011-08-29T15:11:55.620 回答