2014-04-14 79 views
0

我使用最新的Symfony2版本構建應用程序。我需要在用戶上傳後調整圖像大小 - 這發生在TestController::uploadAction()Symfony2 - 如何使用EventListener調度圖像大小調整

現在我得到了一個EventListener將是最好的方式來做到這一點的信息,因爲在kernel.terminate我可以在用戶得到迴應後做到這一點。

以下幾個問題:

  • 我如何上傳的圖片的數據從控制器到事件監聽?
  • 如果TestController - uploadAction正在運行且表單已獲取數據,如何讓偵聽器僅運行/交互?

THX

+0

「最好的方式來做到這一點,因爲在Kernel.terminate我可以在用戶得到響應後做到這一點」---它不是。誰告訴你的人是錯的。 – zerkms

+0

嗯,k - 謝謝 - 是在Symfony IRC頻道...哪裏可以做到 - 你是什麼意思? – nPoday

+0

這取決於任務。在一種情況下,您將使用某個隊列管理器,並由偵聽隊列的工作人員調整其大小。 – zerkms

回答

1

那麼首先你要指派事件:如果您有任何acme_image_upload聽衆則關聯方法將事件作爲參數調用

$this->container->get('event_listener')->dispatch('acme_image_upload', new MyUploadEvent($imageData, $correlation)); 

您可以從訪問ContainerEventDispatcher的控制器發送事件。

,處理上傳多個上下文捆綁的一個很好的例子是這樣的: https://packagist.org/packages/oneup/uploader-bundle

它利用事件來處理不同的情況下,以及支持一些最流行的客戶端的「塊」上傳。