我还在学习Symfony2并且不了解如何上传文件.
别担心,我已经检查了文档.这真的很好,但我的问题没有在任何教程中解释.
我正在寻找有关如何使用Symfony2上传文件但有所有人需要的所有东西的指导(例如扩展的约束,基于id和东西重命名文件,在db中存储路径等等)
我找到了很好的教程,试图混合它们但没有成功.每次出现不同的问题:文件在表单上的每次提交时重新上传(即使文件字段为空),guessExtension也不可能使用,tmp路径存储在数据库而不是正确的路径,文件没有移动,不可能在重命名中使用了id,因为id是自动递增的,因此尚未生成).
所以,我会提出一个"标准"实体,比方说:Photo.php
/**
* Photo
*
* @ORM\Table(name="photo")
* @ORM\Entity
* @ORM\HasLifecycleCallbacks
*/
class Photo
{
// Annotation for the id and auto increment etc
private $id;
/**
* @var string
* @Assert\File( maxSize = "3072k", mimeTypesMessage = "Please upload a valid Image")
* @ORM\Column(name="image", type="string", length=245, nullable=false)
*/
private $image
private $title
private $description
// all the function get, set for the 4 previous variables
}
Run Code Online (Sandbox Code Playgroud)
和控制器:
public function addPhotoAction()
{
$add_photo = new …Run Code Online (Sandbox Code Playgroud)