If you check the value of news.getPicture().available() when file size is biggerthan 2K, you will see it is 0.One solution is to read in byte[] and then call setBinaryStream.