Vichuploaderbundle: Apakah mungkin menggunakan VichUploader untuk menyimpan file yang diunggah dalam Action?

Dibuat pada 21 Feb 2013  ·  3Komentar  ·  Sumber: dustin10/VichUploaderBundle

Saya tahu ini bukan tujuan VichUploader, tetapi saya berharap ini mungkin menjadi kenyataan, karena VichUploader terlalu bagus untuk memproses bidang file dan tidak hanya di database, tetapi juga di template!

situasinya adalah saya sudah memiliki file di server dan saya berharap itu dapat disimpan dan dipindahkan oleh VichUploader.

Kode saya beraksi:

use Symfony\Component\HttpFoundation\File\File;
......
class documentController extends Controller {
......
        public function updateAction(Request $request){
                ......
                $form = $this->createForm(new DocumentType(), $doc);  
                ........
                if ($form->isValid()) {
                        $baseDir = $this->get('kernel')->getRootDir() . "/../web/uploads";  

                        $fileThumbnail = new File($baseDir."/image.jpg");  

                        $doc->setImgThumbnail($fileThumbnail->getFilename());

                        $sm = $this->get('vich_uploader.storage');
                        $sm->upload($doc);

                        $em->persist($doc);
                        $em->flush();
                        .......
                } //eof if
        }
}

Saya mencoba menggunakan VichUploader untuk menyimpan file yang diunggah tanpa kelas formulir, tetapi tidak berfungsi dengan cara saya.

Saya ingin tahu apakah mungkin menyimpan file yang diunggah dengan VichUploader dan tanpa Formulir?

Terima kasih,

Komentar yang paling membantu

Terima kasih @Baachi dan @ftassi ,

@Baachi Anda benar!
Itu dapat dilakukan dengan kelas UploadedFile. ini adalah peretasan, tetapi sederhana dan efektif.

solusi yang bisa diterapkan adalah

$fileThumbnail = new UploadedFile($baseDir.$filename, 'image.jpg', null, null, null, true);
$doc->setFileThumbnail($fileThumbnail);

$em->persist($doc);
$em->flush();

dan semuanya sempurna.

Semua 3 komentar

Ini tidak akan berhasil (saya kira). Untuk memicu proses unggah, Anda harus memiliki UploadedFile yang diikat ke entitas dan sebagai gantinya Anda mengikat instance File.

@ftassi Solusi ada.
Kelas UploadedFile memiliki parameter test . Jika parameter ini true , symfony akan mengemulasi unggahan file.

Terima kasih @Baachi dan @ftassi ,

@Baachi Anda benar!
Itu dapat dilakukan dengan kelas UploadedFile. ini adalah peretasan, tetapi sederhana dan efektif.

solusi yang bisa diterapkan adalah

$fileThumbnail = new UploadedFile($baseDir.$filename, 'image.jpg', null, null, null, true);
$doc->setFileThumbnail($fileThumbnail);

$em->persist($doc);
$em->flush();

dan semuanya sempurna.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat