PDA

View Full Version : اپلود عکس



saeedhushmand
دوشنبه 10 شهریور 1393, 10:24 صبح
با عرض سلام

دوستان من با کد زیر عکسی رو از نرم افزار اندرویدم روی سرور اپلود میکنم درستم کار میکنه فقط یه مشکل داره اونم اینکه عکس های بالای 500 کیلوبایت رو اپلود نمیکنه



if(img1.getBackground() != null)

{



Bitmap bitmap1 = ((BitmapDrawable)
img1.getBackground()).getBitmap();

ByteArrayOutputStream stream =
new ByteArrayOutputStream();

bitmap1 = getResizedBitmap(bitmap1,350,600);

bitmap1.compress(Bitmap.CompressFormat.
JPEG, 50, stream);


byte [] byte_arr = stream.toByteArray();

String image_str = Base64.encodeBytes(byte_arr);






nameValuePairs.add(new BasicNameValuePair("image",image_str));


nameValuePairs.add(new BasicNameValuePair("name",Name));


 


try{

HttpClient httpclient =
new DefaultHttpClient();

HttpPost httppost =
new HttpPost("http://url.ir/Upload_image/upload_image.php");

httppost.setEntity(
new UrlEncodedFormEntity(nameValuePairs));

HttpResponse response = httpclient.execute(httppost);


final String the_string_response = convertResponseToString(response);







}
catch(Exception e){

}



}

harani
سه شنبه 11 شهریور 1393, 09:37 صبح
شما که عکس به روش base64 آپلود میکنی بایستی بدونید در این روش مقداری ذخیره میشود سایزی برابر 1.4 تا 1.6 برابر فایل اصلی حجم آن است بنابراین اگر سایز عکس 400 کیلو باشه باید فضایی که برای ذخیره سازی اختصاص میدهید برابر تقریباً 640 کیلو باشد که در غیر اینصورت به مشکل میخورد شما باید blob ای که انتخاب میکنید از جنس large data باشد .که در این حالت میتونید (فکر کنم) تا سایز 2 مگ را ذخیره نمایید .