Php 使用VichUploaderBundle将图像上载到AmazonS3
我正在使用VichUploaderBundle将图像上传到symfony-2中的AmazonS3 我遵循此文档并创建了实体类 所以我在实体中有一个setter方法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应用程
/**
* @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);