1
我想知道如何在不使用收集字段類型的情況下創建多個文件上傳。事情是:我有一個班,我需要鏈接圖片。我不需要這些圖像中的任何描述和其他類型的信息,所以我只是在主實體中創建了額外的字段。然後,添加使用Symfony2上傳和刪除多個文件
->add('files', 'file', array(
'label' => 'Images',
'required' => false,
'attr' => array(
'accept' => 'image/*',
'multiple' => true
)
它
的窗體類和這樣的:
/**
* @ORM\PrePersist()
* @ORM\PreUpdate()
*/
public function preUpload()
{
if (!empty($this->files)) {
if (!empty($this->images)) {
$this->insertingKey = $this->images->count();
}
foreach ($this->files as $file) {
$imageName = uniqid('entity_') . '_' . date('Y-m-d_H:i') . '.' . $file->guessExtension();
if ($this->images === null) {
$this->images = new ArrayCollection();
}
$this->images->add($imageName);
}
}
}
/**
* @ORM\PostPersist()
* @ORM\PostUpdate()
*/
public function upload()
{
if (empty($this->files)) {
return;
}
if ($this->insertingKey) {
foreach ($this->files as $file) {
$file->move($this->getUploadRootDir(), $this->images[ $this->insertingKey++ ]);
}
} else {
foreach ($this->files as $key => $file) {
$file->move($this->getUploadRootDir(), $this->images[ $key ]);
}
}
}
的學說事件在我的實體類,當然我做喜歡和數組文件歸檔工作。 但我的問題是 - 我無法第二次添加圖像。例如,當我已經上傳了一些圖片並決定上傳更多圖片時,他們會實際上傳圖片(我可以在我的項目目錄中看到它們),但是我的網頁上沒有任何更改。
你能給我些建議嗎?或者,也許還有其他方法通過上傳許多文件並同時只有一個表單域?萬分感謝。