title: Upload and download 2 or more files to/from server
body: <p>I am trying to make an app that can connect android app to the server, and I need to upload and download 2 or more files 
  I found this code</p>
  
  <pre><code>private void doFileUpload() {
          HttpURLConnection conn = null;
          DataOutputStream dos = null;
          DataInputStream inStream = null;
          String existingFileName = Environment.getExternalStorageDirectory()
                  .getAbsolutePath() + "/android/data/[package]/files/productHistory";
          **String existingFileName2 = Environment.getExternalStorageDirectory()
                  .getAbsolutePath() + "/android/data/[package]/files/productStock";**
          String lineEnd = "\r\n";
          String twoHyphens = "--";
          String boundary = "*****";
          int bytesRead, bytesAvailable, bufferSize;
          byte[] buffer;
          int maxBufferSize = 1 * 1024 * 1024;
          String responseFromServer = "";
          String urlString = "http://192.168.1.112/johnson/learn/android/";
          try {
              // ------------------ CLIENT REQUEST
              FileInputStream fileInputStream = new FileInputStream(new File(
                      existingFileName));
              // open a URL connection to the Servlet
              URL url = new URL(urlString);
              // Open a HTTP connection to the URL
              conn = (HttpURLConnection) url.openConnection();
              // Allow Inputs
              conn.setDoInput(true);
              // Allow Outputs
              conn.setDoOutput(true);
              // Don't use a cached copy.
              conn.setUseCaches(false);
              // Use a post method.
              conn.setRequestMethod("POST");
              conn.setRequestProperty("Connection", "Keep-Alive");
              conn.setRequestProperty("Content-Type",
                      "multipart/form-data;boundary=" + boundary);
              dos = new DataOutputStream(conn.getOutputStream());
              dos.writeBytes(twoHyphens + boundary + lineEnd);
              dos.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\";filename=\""
                      + existingFileName + "\"" + lineEnd);
              **dos.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\";filename=\""
                      + existingFileName2 + "\"" + lineEnd);**
              dos.writeBytes(lineEnd);
              // create a buffer of maximum size
              bytesAvailable = fileInputStream.available();
              bufferSize = Math.min(bytesAvailable, maxBufferSize);
              buffer = new byte[bufferSize];
              // read file and write it into form...
              bytesRead = fileInputStream.read(buffer, 0, bufferSize);
              while (bytesRead &gt; 0) {
                  dos.write(buffer, 0, bufferSize);
                  bytesAvailable = fileInputStream.available();
                  bufferSize = Math.min(bytesAvailable, maxBufferSize);
                  bytesRead = fileInputStream.read(buffer, 0, bufferSize);
              }
              // send multipart form data necesssary after file data...
              dos.writeBytes(lineEnd);
              dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
              // close streams
              Log.e("Debug", "File is written");
              fileInputStream.close();
              dos.flush();
              dos.close();
          } catch (MalformedURLException ex) {
              Log.e("Debug", "error: " + ex.getMessage(), ex);
          } catch (IOException ioe) {
              Log.e("Debug", "error: " + ioe.getMessage(), ioe);
          }
          // ------------------ read the SERVER RESPONSE
          try {
              inStream = new DataInputStream(conn.getInputStream());
              String str;
  
              while ((str = inStream.readLine()) != null) {
                  Log.e("Debug", "Server Response " + str);
              }
              inStream.close();
  
          } catch (IOException ioex) {
              Log.e("Debug", "error: " + ioex.getMessage(), ioex);
          }
      }
  </code></pre>
  
  <p>The bold text is edited by me,
  but it is fail, it only upload the first one</p>
  
  <p>my question is 1. how to upload 2/more files with the code?
  2. and how to download them?</p>
  
  <p>thanks in advance</p>