标签: doctrine-uploadable

Symfony2:如何在没有表单的情况下验证UploadedFile?

我需要将下载文件从 URL上传到我的服务器,并使用Uploadable (DoctrineExtensions)保留它。几乎一切都很好,我的方法是:

  1. 将文件下载curl到我的服务器上的临时文件夹
  2. 创建UploadedFile方法并用属性值填充它
  3. 将其插入可上传实体Media
  4. 进行验证
  5. 坚持并冲洗

简化的代码:

// ... download file with curl

// Create UploadedFile object
$fileInfo = new File($tpath);
$file = new UploadedFile($tpath, basename($url), $fileInfo->getMimeType(), $fileInfo->getSize(), null);

// Insert file to Media entity
$media = new Media();
$media = $media->setFile($file);
$uploadableManager->markEntityToUpload($media, $file);

// Validate file (by annotations in entity)
$errors = $validator->validate($media);

// If no errors, persist and flush
if(empty($errors)) {
    $em->persist($this->parentEntity);
    $em->flush();
}
Run Code Online (Sandbox Code Playgroud)

如果我跳过验证,则一切正常。文件已成功移动到正确的路径(由 config.yml 中的可上传扩展配置)并保存到数据库。但手动创建的验证 …

validation symfony doctrine-extensions doctrine-uploadable

5
推荐指数
1
解决办法
1259
查看次数