/**
  * Upload file
  * @param AbstractProductMedia $media     AbstractProductMedia entity
  * @param string               $filename  Filename
  * @param boolean              $overwrite Overwrite file or not
  */
 protected function upload(AbstractProductMedia $media, $filename, $overwrite = false)
 {
     if ($file = $media->getFile()) {
         if ($file instanceof UploadedFile && UPLOAD_ERR_OK !== $file->getError()) {
             return;
         }
         $this->write($filename, file_get_contents($file->getPathname()), $overwrite);
         $media->setOriginalFilename($file instanceof UploadedFile ? $file->getClientOriginalName() : $file->getFilename());
         $media->setFilename($filename);
         $media->setFilepath($this->getFilePath($media));
         $media->setMimeType($file->getMimeType());
         $media->resetFile();
     }
 }