post 请求未保存 Vichuploader 文件
Vichuploader File is not saved with post request
我的项目实际上是创建一个允许我 post gif、jpg 等的网站。
我正在使用 VichuploaderBundler 上传文件并将其保存到我的应用程序中的特定存储库
#vich uploader Configuration
vich_uploader:
db_driver: orm
mappings:
product_image:
uri_prefix: /images/posts
upload_destination: '%kernel.root_dir%/../web/images/posts'
namer: vich_uploader.namer_uniqid
inject_on_load: false
delete_on_update: true
delete_on_remove: true
我正在创建一个 API 来创建和呈现资源。
我正在尝试通过 post 请求创建一个 Post 人 post。
在这个 Post 中,我想保存一个图像 throw vichuploader。(这在经典形式下有效)。
这是我的问题:
我的 post 是根据我的 post 人工请求创建的。但是我上传的文件没有保存在
/**
* @Rest\View(statusCode=Response::HTTP_CREATED)
* @Rest\Post("/posts")
*/
public function postPostsAction(Request $request)
{
$post = new Post();
$post->setTitle($request->get('title'))
->setDescription($request->get('description'))
->setImageName($request->get('image_name'))
->setImageFile($request->get('imageFile'))
// It is required that at least one field changes if you are using doctrine
// otherwise the event listeners won't be called and the file is lost
->setUpdatedAt(new \DateTime());
$em = $this->get('doctrine.orm.entity_manager');
$em->persist($post);
$em->flush();
return $post;
}
感谢您对我的 post 的帮助和反馈。
我找到了解决这个问题的方法,实际上非常简单!
public function postPostsAction(Request $request)
{
$post = new Post();
$post->setTitle($request->get('title'))
->setDescription($request->get('description'))
->setImageName($request->get('image_name'))
->setImageFile($request->files->get('imageFile'))
// It is required that at least one field changes if you are using doctrine
// otherwise the event listeners won't be called and the file is lost
->setUpdatedAt(new \DateTime());
// On fait appel à doctrine pour seter un id lors de la création en base
$em = $this->get('doctrine.orm.entity_manager');
$em->persist($post);
$em->flush();
return $post;
}
多亏了 ->files 语句,我的照片才保存在正确的目录中
我的项目实际上是创建一个允许我 post gif、jpg 等的网站。
我正在使用 VichuploaderBundler 上传文件并将其保存到我的应用程序中的特定存储库
#vich uploader Configuration vich_uploader: db_driver: orm mappings: product_image: uri_prefix: /images/posts upload_destination: '%kernel.root_dir%/../web/images/posts' namer: vich_uploader.namer_uniqid inject_on_load: false delete_on_update: true delete_on_remove: true
我正在创建一个 API 来创建和呈现资源。
我正在尝试通过 post 请求创建一个 Post 人 post。 在这个 Post 中,我想保存一个图像 throw vichuploader。(这在经典形式下有效)。
这是我的问题:
我的 post 是根据我的 post 人工请求创建的。但是我上传的文件没有保存在
/**
* @Rest\View(statusCode=Response::HTTP_CREATED)
* @Rest\Post("/posts")
*/
public function postPostsAction(Request $request)
{
$post = new Post();
$post->setTitle($request->get('title'))
->setDescription($request->get('description'))
->setImageName($request->get('image_name'))
->setImageFile($request->get('imageFile'))
// It is required that at least one field changes if you are using doctrine
// otherwise the event listeners won't be called and the file is lost
->setUpdatedAt(new \DateTime());
$em = $this->get('doctrine.orm.entity_manager');
$em->persist($post);
$em->flush();
return $post;
}
感谢您对我的 post 的帮助和反馈。
我找到了解决这个问题的方法,实际上非常简单!
public function postPostsAction(Request $request)
{
$post = new Post();
$post->setTitle($request->get('title'))
->setDescription($request->get('description'))
->setImageName($request->get('image_name'))
->setImageFile($request->files->get('imageFile'))
// It is required that at least one field changes if you are using doctrine
// otherwise the event listeners won't be called and the file is lost
->setUpdatedAt(new \DateTime());
// On fait appel à doctrine pour seter un id lors de la création en base
$em = $this->get('doctrine.orm.entity_manager');
$em->persist($post);
$em->flush();
return $post;
}
多亏了 ->files 语句,我的照片才保存在正确的目录中