Hola,
Me gustaría preguntarle si alguien no sabe dónde está el problema. Seguí el tutorial de configuración en doc e intenté crear una entidad de foto con la configuración similar.
Aquí está la esencia https://gist.github.com/Jirda/8901323
He creado una carga de directorio en el directorio web, pero cuando ejecuto el código de carga en un dispositivo de datos para crear la entidad Photo, la imagen no se guarda y el directorio de carga está vacío. Además, imageName es nulo.
Gracias por tus notas.
Tu problema está relacionado con el n. ° 200
Básicamente, cambiando esta línea:
$photo1->setImage(new File(__DIR__ . "/../Files/image1.png"));
por este:
$photo1->setImage(new UploadedFile(__DIR__ . "/../Files/image1.png", "image1.png"));
debería ser suficiente.
Gracias por tus comentarios. Acabo de cambiar la línea y tengo:
[Symfony \ Component \ HttpFoundation \ File \ Exception \ FileException]
El archivo "image1.png" no se cargó debido a un error desconocido.
¿Algún consejo?
Este método está realmente orientado a "cargar" (el paquete fue desarrollado para manejar archivos cargados con formularios de Symfony). Pensé que este truco rápido podría funcionar, pero después de leer el código fuente de UploadedFile, está claro que no funcionará.
Como parece que el archivo ya está presente en su servidor, el paquete actualmente no puede manejar el trabajo por usted. De hecho, es algo que deberíamos arreglar, pero mientras tanto, no tiene más remedio que mover el archivo y guardar su nombre en la entidad usted mismo.
Entonces, cuando configuro el nombre de la imagen en photo1.png y guardo el archivo en el directorio de destino, ¿estaría bien? :)
Gracias.
Debería, sí :)
En realidad, establecer el parámetro test
= true
en el constructor UploadedFile le permite "cargar" un archivo local:
new UploadedFile($filePath, "image1.png", 'image/png', filesize($filePath), null, true);
Esto corrige el problema "no subido debido a un error desconocido" descrito por @petrjirasek .
Gracias @chriwup, esto funciona para mí
Comentario más útil
En realidad, establecer el parámetro
test
=true
en el constructor UploadedFile le permite "cargar" un archivo local:Esto corrige el problema "no subido debido a un error desconocido" descrito por @petrjirasek .