Enviar un archivo cargado a un campo de tipo imagen al servidor SQL en Laravel PHP.
Mi pregunta es cómo enviar un archivo a un campo de tipo imagen desde Laravel a SQL Server?
$file = ruta_del_archivo;
$image = file_get_contents($file);
$sql = “INSERT INTO tabla (CONTENIDO) VALUES (?);”;
$params = array(array($image, SQLSRV_PARAM_IN, SQLSRV_PHPTYPE_STREAM(SQLSRV_ENC_BINARY)));
De esta manera solo puedo insertar varbinary y lo que necesito es que se inserte en el tipo imagen.
davy.ai
Para insertar un archivo en un campo de tipo imagen en SQL Server desde Laravel, puede usar el siguiente código:
En este código, primero obtenemos el contenido del archivo utilizando la función
file_get_contents ()
.A continuación, creamos una conexión al servidor de SQL usando la función
sqlsrv_connect()
y definimos los parámetros de conexión.Luego, establecemos la instrucción SQL para insertar el contenido del archivo en el campo “CONTENIDO” de la tabla “tabla”.
Definimos los parámetros para la instrucción SQL como un array, siendo el primer elemento el contenido del archivo, seguido por el tipo de datos, el tipo de datos de PHP y el tipo de datos de SQL.
A continuación, preparamos la instrucción SQL usando la función
sqlsrv_prepare()
y pasamos la conexión, la instrucción SQL y los parámetros.Verificamos si la instrucción se preparó correctamente y, de ser así, la ejecutamos usando la función
sqlsrv_execute()
.Finalmente, liberamos la instrucción y cerramos la conexión usando las funciones
sqlsrv_free_stmt()
ysqlsrv_close()
respectivamente.Usando el código anterior, debería poder insertar un archivo en un campo de tipo imagen en SQL Server desde Laravel usando PHP.