+ // but if the _actual_ locally stored file doesn't exist, getPath will throw FileNotFoundException
+ $filename = basename($file->getPath());
+ $mimetype = $file->mimetype;
+
+ } catch (FileNotFoundException $e) {
+ // The file does not exist in our local filesystem, so store this upload.
+
+ if (!move_uploaded_file($_FILES[$param]['tmp_name'], $e->path)) {
+ // TRANS: Client exception thrown when a file upload operation fails because the file could
+ // TRANS: not be moved from the temporary folder to the permanent file location.
+ throw new ClientException(_('File could not be moved to destination directory.'));
+ }
+
+ $filename = basename($file->getPath());