diff --git a/core/modules/hal/src/Normalizer/FileEntityNormalizer.php b/core/modules/hal/src/Normalizer/FileEntityNormalizer.php index e1bfe4f..56fb38f 100644 --- a/core/modules/hal/src/Normalizer/FileEntityNormalizer.php +++ b/core/modules/hal/src/Normalizer/FileEntityNormalizer.php @@ -62,8 +62,11 @@ public function denormalize($data, $class, $format = NULL, array $context = []) $file_data = (string) $this->httpClient->get($data['uri'][0]['value'])->getBody(); $path = 'temporary://' . drupal_basename($data['uri'][0]['value']); - $data['uri'] = [file_unmanaged_save_data($file_data, $path)]; - + $data['uri'] = file_unmanaged_save_data($file_data, $path); + if (!isset($data['_links']['type'])) { + return $this->entityManager->getStorage('file')->create($data); + } + $data['uri'] = [['value' => $data['uri']]]; return parent::denormalize($data, $class, $format, $context); }