Php 使用VichUploaderBundle将图像上载到AmazonS3

Php 使用VichUploaderBundle将图像上载到AmazonS3,php,symfony,file-upload,amazon-s3,vichuploaderbundle,Php,Symfony,File Upload,Amazon S3,Vichuploaderbundle,我正在使用VichUploaderBundle将图像上传到symfony-2中的AmazonS3 我遵循此文档并创建了实体类 所以我在实体中有一个setter方法 /** * @param UploadedFile $file */ public function setFile(File $file = null) { $this->file = $file; $this->updated = new \DateTime(); } 客户端(这是一个web应用程

我正在使用VichUploaderBundle将图像上传到symfony-2中的AmazonS3

我遵循此文档并创建了实体类

所以我在实体中有一个setter方法

/**
 * @param UploadedFile $file
 */
public function setFile(File $file = null)
{
    $this->file = $file;
    $this->updated = new \DateTime();
}
客户端(这是一个web应用程序)将以base_64格式发送图像。
因此,我不明白如何从该字符串中获取文件对象?(因为setter方法的参数是FILE)

好的,所以首先需要将图像保存到临时文件中-下面是一个解决方案:

然后,您需要使用该文件创建上载文件的实例,类似于以下示例:


然后将此UploadedFile发送到setFile()方法。

您可以使用库中的
UploadedBase64EncodedFile
类:

使用Hshn\Base64EncodedFile\HttpFoundation\File\Base64EncodedFile;
使用Hshn\Base64EncodedFile\HttpFoundation\File\UploadedBase64EncodedFile;
$uploadedFile=新的UploadedBase64EncodedFile(
新的Base64EncodedFile($base64String)
);
$uploadableEntity->setFile($uploadedFile);