	private int fileUpload(byte[] buffer, int bufferSize, String file, String server) {

		int serverResponseCode=0;
		// Modified from http://reecon.wordpress.com/2010/04/25/uploading-files-to-http-server-using-post-android-sdk/
		HttpURLConnection connection = null;
		DataOutputStream outStream = null;
		
		String lineEnd = "\r\n";
		String twoHyphens = "--";
		String boundary =  "*****";
		
		Log.d("fileUpload", "Upload "+bufferSize+"B to "+server+"/"+file);
		
		try {
			URL url = new URL(server);
			connection = (HttpURLConnection) url.openConnection();
			connection.setDoOutput(true);

			connection.setRequestMethod("POST");
			connection.setRequestProperty("Connection", "Keep-Alive");
			connection.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary);

			try {
				connection.connect();
				OutputStream aa = connection.getOutputStream();
				outStream = new DataOutputStream(aa);

				outStream.writeBytes(twoHyphens + boundary + lineEnd);
				outStream.writeBytes("Content-Disposition: form-data; name=\"userfile\";filename=\""+file+"\"" + lineEnd);
				outStream.writeBytes(lineEnd);

				outStream.write(buffer, 0, bufferSize);
			
				outStream.writeBytes(lineEnd);
				outStream.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);

				// Responses from the server (code and message)
				serverResponseCode = connection.getResponseCode();

				outStream.flush();
				outStream.close();
				} catch (Exception e) {
				Toast.makeText(getApplicationContext(), "ERROR " + e.getMessage(), Toast.LENGTH_SHORT).show();
				}
			} catch (Exception e) {
			Toast.makeText(getApplicationContext(), "ERROR " + e.getMessage(), Toast.LENGTH_SHORT).show();
			} finally {
			connection.disconnect();
			}
		return serverResponseCode;
        }

	private int fileUpload(String file, String server) {
		
		final int uploadSizeMax=(1024*256);
		int serverResponseCode=0;
		
		// Modified from http://reecon.wordpress.com/2010/04/25/uploading-files-to-http-server-using-post-android-sdk/
		HttpURLConnection connection = null;
		DataOutputStream outStream = null;
		
		String lineEnd = "\r\n";
		String twoHyphens = "--";
		String boundary =  "*****";
		
		Log.d("fileUpload", "Upload from "+file+" to "+server);
		
		FileInputStream fileInputStream;

		int bytesRead, bytesAvailable, bufferSize;
		byte[] buffer;

		try {
			fileInputStream = new FileInputStream(new File(file) );
			URL url = new URL(server);
			connection = (HttpURLConnection) url.openConnection();
			connection.setDoInput(true);
			connection.setDoOutput(true);
			connection.setUseCaches(false);
			//Enable POST method
			connection.setRequestMethod("POST");
			connection.setRequestProperty("Connection", "Keep-Alive");
			connection.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary);

			outStream = new DataOutputStream( connection.getOutputStream() );
			outStream.writeBytes(twoHyphens + boundary + lineEnd);
			outStream.writeBytes("Content-Disposition: form-data; name=\"userfile\";filename=\""+file+"\"" + lineEnd);
			outStream.writeBytes(lineEnd);

			bytesAvailable = fileInputStream.available();
			bufferSize = Math.min(bytesAvailable, uploadSizeMax);
			buffer = new byte[bufferSize];

			// Read file
			bytesRead = fileInputStream.read(buffer, 0, bufferSize);

			while (bytesRead > 0) {
				outStream.write(buffer, 0, bufferSize);
				bytesAvailable = fileInputStream.available();
				bufferSize = Math.min(bytesAvailable, uploadSizeMax);
				bytesRead = fileInputStream.read(buffer, 0, bufferSize);
				}

			outStream.writeBytes(lineEnd);
			outStream.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);

			// Responses from the server (code and message)
			serverResponseCode = connection.getResponseCode();
			
			fileInputStream.close();
			outStream.flush();
			outStream.close();
			} catch (Exception e) {
			Toast.makeText(getApplicationContext(), "ERROR " + e.getMessage(), Toast.LENGTH_SHORT).show();
			}
		return serverResponseCode;
        }

