Merge pull request #3152 from aynsix/PHRAS-2741-api-leaves-temporary-file-41

PHRAS-2714 #comment merge of Port to 4.1 API leaves a copy of the file into the system temporary directory 4.1
This commit is contained in:
Nicolas Maillat
2019-09-06 16:23:34 +02:00
committed by GitHub

View File

@@ -944,7 +944,7 @@ class V1Controller extends Controller
} }
$originalName = $pi['filename'] . '.' . $pi['extension']; $originalName = $pi['filename'] . '.' . $pi['extension'];
$newPathname = $tempfile; $uploadedFilename = $newPathname = $tempfile;
} }
} }
else { else {
@@ -956,8 +956,11 @@ class V1Controller extends Controller
if (!$file->isValid()) { if (!$file->isValid()) {
return $this->getBadRequestAction($request, 'Data corrupted, please try again'); return $this->getBadRequestAction($request, 'Data corrupted, please try again');
} }
$uploadedFilename = $file->getPathname();
$originalName = $file->getClientOriginalName(); $originalName = $file->getClientOriginalName();
$newPathname = $file->getPathname() . '.' . $file->getClientOriginalExtension(); $newPathname = $file->getPathname() . '.' . $file->getClientOriginalExtension();
if (false === rename($file->getPathname(), $newPathname)) { if (false === rename($file->getPathname(), $newPathname)) {
return Result::createError($request, 403, 'Error while renaming file')->createResponse(); return Result::createError($request, 403, 'Error while renaming file')->createResponse();
} }
@@ -1010,6 +1013,11 @@ class V1Controller extends Controller
$nosubdef = $request->get('nosubdefs') === '' || \p4field::isyes($request->get('nosubdefs')); $nosubdef = $request->get('nosubdefs') === '' || \p4field::isyes($request->get('nosubdefs'));
$this->getBorderManager()->process($session, $Package, $callback, $behavior, $nosubdef); $this->getBorderManager()->process($session, $Package, $callback, $behavior, $nosubdef);
// remove $newPathname on temporary directory
if ($newPathname !== $uploadedFilename) {
@rename($newPathname, $uploadedFilename);
}
$ret = ['entity' => null]; $ret = ['entity' => null];
if ($output instanceof \record_adapter) { if ($output instanceof \record_adapter) {
@@ -1081,6 +1089,11 @@ class V1Controller extends Controller
} }
} }
// remove $newPathname on temporary directory
if ($renamedFilename !== $uploadedFilename) {
@rename($renamedFilename, $uploadedFilename);
}
return Result::create($request, $ret)->createResponse(); return Result::create($request, $ret)->createResponse();
} }