public function newBinaryCreateStructFromUploadedFile(array $uploadedFile)
{
if (!is_string($uploadedFile['tmp_name']) || empty($uploadedFile['tmp_name'])) {
throw new InvalidArgumentException('uploadedFile', "uploadedFile['tmp_name'] does not exist or has invalid value");
}
if (!is_uploaded_file($uploadedFile['tmp_name']) || !is_readable($uploadedFile['tmp_name'])) {
throw new InvalidArgumentException('uploadedFile', 'file was not uploaded or is unreadable');
}
$fileHandle = fopen($uploadedFile['tmp_name'], 'rb');
if ($fileHandle === false) {
throw new InvalidArgumentException('uploadedFile', 'failed to get file resource');
}
$binaryCreateStruct = new BinaryFileCreateStruct();
$binaryCreateStruct->size = $uploadedFile['size'];
$binaryCreateStruct->inputStream = $fileHandle;
$binaryCreateStruct->mimeType = $uploadedFile['type'];
return $binaryCreateStruct;
}