色々なサイトを見て、ソースコードを試してみましたがVolleyを使って画像をサーバーにアップロードできるものが見つかりませんした。

public class MultipartRequest2 extends Request<String> {
public static final String KEY_PICTURE = "mypicture";
public static final String KEY_PICTURE_NAME = "filename";
public static final String KEY_ROUTE_ID = "route_id";

private HttpEntity mHttpEntity;

private String mRouteId;
private Response.Listener mListener;

public MultipartRequest2(String url, String filePath, String routeId,
                         Response.Listener<String> listener,
                         Response.ErrorListener errorListener) {
    super(Method.POST, url, errorListener);

    mRouteId = routeId;
    mListener = listener;
    mHttpEntity = buildMultipartEntity(filePath);
}

public MultipartRequest2(String url, File file, String routeId,
                         Response.Listener<String> listener,
                         Response.ErrorListener errorListener) {
    super(Method.POST, url, errorListener);

    mRouteId = routeId;
    mListener = listener;
    mHttpEntity = buildMultipartEntity(file);
}

private HttpEntity buildMultipartEntity(String filePath) {
    File file = new File(filePath);
    return buildMultipartEntity(file);
}

private HttpEntity buildMultipartEntity(File file) {
    MultipartEntityBuilder builder = MultipartEntityBuilder.create();
    String fileName = file.getName();
    FileBody fileBody = new FileBody(file);
    builder.addPart(KEY_PICTURE, fileBody);
    builder.addTextBody(KEY_PICTURE_NAME, fileName);
    builder.addTextBody(KEY_ROUTE_ID, mRouteId);
    return builder.build();
}

@Override
public String getBodyContentType() {
    return mHttpEntity.getContentType().getValue();
}

@Override
public byte[] getBody() throws AuthFailureError {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    try {
        mHttpEntity.writeTo(bos);
    } catch (IOException e) {
        VolleyLog.e("IOException writing to ByteArrayOutputStream");
    }
    return bos.toByteArray();
}

@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
    return Response.success("Uploaded", getCacheEntry());
}

@Override
protected void deliverResponse(String response) {
    mListener.onResponse(response);
}

}

ネットで見つけたこのソースコードで画像をPOST送信でサーバーにアップロードしたいのですが、
routeIdとはなんでしょうか?

サンプルでは

        HashMap<String, String> params = new HashMap<>();

    String url = "http://someone.jp/upload.php";
    String image_path = "/storage/sdcard/DCIM/Camera/IMG_20161026_182039.jpg";

    params.put("user", "username");


    MultipartRequest2 multipartRequest =

            new MultipartRequest2(url, image_path, params, new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Log.e("TAG", "Success Response: " + response.toString());

                }
            }, new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {

                    if (error.networkResponse != null) {
                        Log.e("TAG", "Error Response code: " +
                                error.networkResponse.statusCode);

                        try {
                            dcimPath.setText("ギャラリーのPath: "+"user");

                        }finally {

                        }

                    }

                        if (error instanceof NetworkError) {
                        } else if (error instanceof ServerError) {
                        } else if (error instanceof AuthFailureError) {
                        } else if (error instanceof ParseError) {
                        } else if (error instanceof NoConnectionError) {
                        } else if (error instanceof TimeoutError) {
                        }
                    }
                });

                mQueue.add(multipartRequest);

となっていましたが、これだとエラーが出てオブジェクトが生成できませんでした。

どなたか教えてください。