Begin a multi part upload with a call to this method, it will return an ID that will need to be used by either completeMultiPartUpload or abortMultiPartUpload.
A reason for failure will be returned otherwise you'll receive an ID representing the media, and a partUrls array.
The fileData array may contain the following parameters.
PHP-RPC
$path = 'https://api.newspark.ca/services/php';
// Listing the arguments
$arguments = array(
  'APIKEY' => 'YOURAPIKEY',
  'method' => 'media.createMultiPartUpload',
  'vhost' => '2',
  'filename' => $filename,
  'contentType' => $contentType,
  'partInfo' => $partInfo,
  'fileData' => $fileData,
  'timeOut' => $timeOut,
  'setAvatar' => $setAvatar,
  'checksums' => $checksums
);
// http_build_query basically turns an array into a url-encoded list of variables
$url = $path .'?' . http_build_query($arguments,null,'&');
// get the contents from the specified url
$data = file_get_contents($url);
// transform it back into php data structures
$data = unserialize($data);
// the actual data is stored in $data['result']
print_r($data['result']);
back to topPEAR XMLRPC client
// Include the client
require_once 'XML/RPC.php';
// Create the XMLRPC Client
$client = new XML_RPC_Client('/services/xmlrpc?APIKEY={YOURAPIKEY}', 'api.newspark.ca');
// PEAR's XML-RPC client requires all arguments to wrapped in a special value class
// XML_RPC_encode converts this automatically
$arguments = array(
  XML_RPC_encode('2'),
  XML_RPC_encode($filename),
  XML_RPC_encode($contentType),
  XML_RPC_encode($partInfo),
  XML_RPC_encode($fileData),
  XML_RPC_encode($timeOut),
  XML_RPC_encode($setAvatar),
  XML_RPC_encode($checksums)
);
// Creating an XML-RPC message
$message = new XML_RPC_Message('media.createMultiPartUpload',$arguments);
// Sending the message to the server
$response = $client->send($message);
// We also need to decode the response back to normal PHP types
$response = XML_RPC_decode($response);
print_r($response);back to topSabreTooth XMLRPC client
// Include the client
require_once 'Sabre/XMLRPC/Client.php';
// Create the XMLRPC Client
$xmlrpc = new Sabre_XMLRPC_Client('https://api.newspark.ca/services/xmlrpc?APIKEY={YOURAPIKEY}');
$arguments = array(
  '2',
  $filename,
  $contentType,
  $partInfo,
  $fileData,
  $timeOut,
  $setAvatar,
  $checksums
);
$data = $xmlrpc->invoke('media.createMultiPartUpload',$arguments);
print_r($data);back to topZend XMLRPC client
// Include the client
require_once 'Zend/XmlRpc/Client.php';
// Create the XMLRPC Client
$client = new Zend_XmlRpc_Client('https://api.newspark.ca/services/xmlrpc?APIKEY={YOURAPIKEY}');
$arguments = array(
  '2',
  $filename,
  $contentType,
  $partInfo,
  $fileData,
  $timeOut,
  $setAvatar,
  $checksums
);
$data = $client->call('media.createMultiPartUpload',$arguments);
print_r($data);back to topActionscript 2
    /*
     *     In ActionScript 2 remote service calls are done using the RemotingConnector Component.
     *     An instance of the component must exist on the stage and have an instance name.
     *
     *     Results and Faults are handled by addEventListener's and the call parameters are placed inside of an associative array
     *
     *     You must also specify the service class and method names under the appropriate property fields of the component
     */
    var gatewayURL:String = "/services/amf2";
    //Set up service call
    myRemConn_rc.gatewayUrl = gatewayURL;
    myRemConn_rc.serviceName = "media";
    myRemConn_rc.methodName = "createMultiPartUpload";
    myRemConn_rc.params = {2:vhost, filename:filename, contentType:contentType, partInfo:partInfo, fileData:fileData, timeOut:timeOut, setAvatar:setAvatar, checksums:checksums};
    myRemConn_rc.addEventListener("result", widgetResult);
    myRemConn_rc.addEventListener("status", widgetFault);
    //Make the call
    myRemConn_rc.trigger();
    /*
    *  Handles service result.
    */
    function widgetResult(ev:Object){
        //Do stuff
        //Data is returned inside of ev.target.results
        //(i.e. ev.traget.results.description or ev.traget.results.settings.color)
    }
    /*
    *  Handles service fault.
    */
    function widgetFault(ev:Object){
        //Display Error
        trace("Categories Error - " + ev.code + " -  " + ev.data.faultstring);
    }back to topActionscript 3
    /*
     *  In ActionScript 3 remote service calls are done using the NetConnection Object.
     *  A Responder Object controls what functions handle successful or failed calls
     *  and any parameters for the call are placed in an array and passed as a parameter
     *  in the NetConnection.call() method.
     */
    var gatewayURL:String = "/services/amf2";
    var parameters:Array = new Array(vhost, filename, contentType, partInfo, fileData, timeOut, setAvatar, checksums);
    var connection:NetConnection = new NetConnection();
    connection.connect(gatewayURL);
    connection.call("media.createMultiPartUpload", new Responder(widgetResult, widgetFault), parameters);
    /*
     *   Handles service result.
     */
    function widgetResult(ev:Object):void{
        //Do stuff
        //Data is returned inside of ev
        //(i.e. ev.description or ev.settings.color)
    }
    /*
    *  Handles service fault.
    */
    function widgetFault(ev:Object):void{
        //Display Error
        error.showError(parentClip, ev.code + " -  " + ev.description, "Please refresh your browser to try again.");
        error.x = (parentClip.width - error.width) / 2;
        error.y = (parentClip.height - error.height) / 2;
    }back to topREST service example
<%@ Page Language="vb" %>
<%
' REST gateway
dim gateway as string = "http://api.newspark.ca/services/rest/"
' Service + method we're calling.
dim method as string = "media/createMultiPartUpload"
dim apiKey as string = "YOURAPIKEY"
dim url as string = gateway & method & "?APIKEY=" & apiKey &  "&vhost=2" &  "&filename=" & filename &  "&contentType=" & contentType &  "&partInfo=" & partInfo
' HTTP Client
dim wcHTTPScrape as new System.net.WebClient()
' Opening a stream
dim objInput as System.IO.Stream = wcHTTPScrape.OpenRead(url)
dim objReader as new System.IO.StreamReader ( objInput )
' Reading the entire HTTP response and output it
Response.Write ( objReader.ReadToEnd () )
objReader.Close ()
objInput.Close ()
%>
back to topjQuery JSON
/*
* jQuery post example
*/
function createMultiPartUpload ( filename, contentType, partInfo, fileData, timeOut, setAvatar, checksums ) {
var params = {
    "method" :      'media.createMultiPartUpload',
    "vhost" :       2,
    "filename" :    filename,
    "contentType" : contentType,
    "partInfo" :    partInfo,
    "fileData" :    fileData,
    "timeOut" :     timeOut,
    "setAvatar" :   setAvatar,
    "checksums" :   checksums}
$.post('/services/json',params
,function(response){
    console.log(response);
});
back to topLocal API
// Get the Service Mapper
$mapper = Sabre_ServiceMap_Mapper::getMapper();
// Calling the method
$data = $mapper->media->createMultiPartUpload( 2, $filename, $contentType, $partInfo, $fileData, $timeOut, $setAvatar, $checksums );
print_r($data);
back to top