It is a realy bad idea to make network communication in the ui thread. You should always make net io in a worker thread.
On 8 February 2011 15:45, alex c <alex.chuny...@gmail.com> wrote: > ello. > i'm experiencing a problem when uploading images from my android > application to remote server (apache with php). > > devices are: htc hd2 and samsung galaxy tab. all with android 2.2 > > the application itself is very simple: > public class UploadTest extends Activity { > private final static String TAG = "UploadTest"; > > /** Called when the activity is first created. */ > @Override > public void onCreate(Bundle savedInstanceState) { > super.onCreate(savedInstanceState); > setContentView(R.layout.main); > } > > private void uploadImage() { > String imagePath = Environment.getExternalStorageDirectory() > + "/Andorra/Images/748.jpg"; > String exportUrl = > "http://domainname.here/pda/export_photos.php"; > > String responseStr = ""; > > MultipartEntity reqEntity = new > MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); > > reqEntity.addPart("image", new FileBody(new File(imagePath), > "image/ > jpeg")); > HttpResponse resp = > NetworkUtils.sendHttpRequestMultipart(exportUrl, > reqEntity); > > new AlertDialog.Builder(this).setMessage(responseStr) > .setTitle("Finished") > .setPositiveButton("Ok", new > DialogInterface.OnClickListener() { > public void onClick(DialogInterface > dialog, int whichButton) { > } > }).show(); > > } > > public void btn1_onClickHandler(View v) { > uploadImage(); > } > } > > so it's as simple as it can be. > the problem is that the uploaded image is corrupted. > the file size is same. but content can differ. sometimes it uploads > ok. sometimes it is broken.. > example: > original image; http://pixelbirthcloud.com/corrupted_images/1_orig.jpg > uplaoded image: http://pixelbirthcloud.com/corrupted_images/1_corrupted.jpg > > the binary diff says: > ------------------------------------------------------------------------ > > 00051330 | 49 69 11 4B 9D E6 | 00051330 | DA BB 10 70 DC 77 | > 00051338 | 2D B9 1B B9 E4 81 5A E6 | 00051338 | AC 20 C7 90 7E B4 33 > 80 | > 00051340 | D4 14 B0 F4 EA 3D D1 E9 | 00051340 | 31 9A B8 C2 29 83 66 > 9C | > 00051348 | 61 9D E3 38 F7 36 DE 63 | 00051348 | 9A 84 8E 73 9A 8D B5 > 29 | > 00051350 | 25 9D 9D C4 64 C3 23 AA | 00051350 | 18 60 1C 0F 7A CF 33 > 01 | > 00051358 | 4A EB 08 C3 97 7C 8C 36 | 00051358 | D4 F0 7A D3 24 BA 85 > 71 | > 00051360 | 73 F5 E3 15 14 5B BC C1 | 00051360 | F3 0A 76 8A D6 C4 36 > 5E | > 00051368 | B9 A4 49 06 71 1B 11 87 | 00051368 | 7B B9 5F 20 E3 A5 46 > F2 | > 00051370 | 39 E7 76 7B 8F 5F | 00051370 | B8 1D 4E 6B 36 6D | > ------------------------------------------------------------------------ > > internet connection is 3g in my case and slow wifi in client's case. > for client the images are 90% corrupted (cannot see anything) and it > happens like 98% of the time. > > after some time i tried to make the upload using HttpURLConnection > class and had same results. > then tried to encode files with base64 but even in this case the > base64 text is received corrupted. > > also tries to set transfer to chunk mode: > HttpURLConnection conn = (HttpURLConnection) url.openConnection(); > conn.setChunkedStreamingMode(8192); > but the result was same.. most images are corrupt. > > can you please help me? i am almost crying =) fighting with this for a > week now.. thank you in advance > > btw. tried it with emulator via normal network and it works ok... > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to android-developers@googlegroups.com > To unsubscribe from this group, send email to > android-developers+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en