Trouble Uploading a File Using InvokeUrl through Box API

Trouble Uploading a File Using InvokeUrl through Box API

I am having trouble formatting the parameters to upload a file through the Box Api using InvokeUrl.  I have included a sample Box API request for reference.  I'm not sure how to handle the "file" in the request.   I have tried many variations without success.  I have pasted the code I am using without addressing the "file" in the request. Any help would me much appreciated.  I am getting a 400 error code from Box.

/*BOX API UPLOAD FILE REFERENCE
curl -i -X POST "https://upload.box.com/api/2.0/files/content" \
     -H "Authorization: Bearer <ACCESS_TOKEN>" \
     -H "Content-Type: multipart/form-data" \
     -F attributes="{"name":"Contract.pdf", "parent":{"id":"11446498"}}" \
     -F file=@<FILE_NAME>
*/



file = geturl("https://maps.googleapis.com/maps/api/staticmap?xxxxx");
box_token = zoho.crm.getOrgVariable("Box_Access_Token");
///PARAMETER VALUES
box_folder_id = "xxxx1234";
new_file_name= "New File Name";
////DEFINE MAPS
new_file_name_map = Map();
box_folder_id_map = Map();
box_folder_id_parent_map = Map();
///BUILD PARAMETERS
new_file_name_map.put("name",new_file_name);
box_folder_id_map.put("id",box_folder_id);
box_folder_id_parent_map.put("parent",box_folder_id_map);
///UPLOAD FILE TO BOX
upload_to_box_folder = invokeurl
[
url :"https://upload.box.com/api/2.0/files/content/"
type :POST
headers:{"Authorization":"Bearer " + box_token,"Content-Type":" multipart/form-data"}
parameters: "attributes=\"" + new_file_name_map + box_folder_id_parent_map + "\""
];