Ben sorun (benim veritabanında bir damla olarak depolanır) sıkıştırılmış jpeg görüntüyü alıyorum yaşıyorum.
Burada çıkış için benim veritabanına sahip görüntüyü kullanmak kod parçacığını olduğunu:
if($row = mysql_fetch_array($sql))
{
$size = $row['image_size'];
$image = $row['image'];
if($image == null){
echo "no image!";
} else {
header('Content-Type: content/data');
header("Content-length: $size");
echo $image;
}
}
burada ben sunucudan okumak için kullandığınız kod:
URL sizeUrl = new URL(MYURL);
URLConnection sizeConn = sizeUrl.openConnection();
// Get The Response
BufferedReader sizeRd = new BufferedReader(new InputStreamReader(sizeConn.getInputStream()));
String line = "";
while(line.equals("")){
line = sizeRd.readLine();
}
int image_size = Integer.parseInt(line);
if(image_size == 0){
return null;
}
URL imageUrl = new URL(MYIMAGEURL);
URLConnection imageConn = imageUrl.openConnection();
// Get The Response
InputStream imageRd = imageConn.getInputStream();
byte[] bytedata = new byte[image_size];
int read = imageRd.read(bytedata, 0, image_size);
Log.e("IMAGEDOWNLOADER", "read "+ read + " amount of bytes");
Log.e("IMAGEDOWNLOADER", "byte data has length " + bytedata.length);
Bitmap theImage = BitmapFactory.decodeByteArray(bytedata, 0, image_size);
if(theImage == null){
Log.e("IMAGEDOWNLOADER", "the bitmap is null");
}
return theImage;
My logging shows that everything has the right length, yet theImage is always null. I'm thinking it has to do with my content type. Or maybe the way I'm uploading?