Acerca de subir un fichero a la web - Forum

Forum Navigation
You need to log in to create posts and topics.

Acerca de subir un fichero a la web

Adjunto el fichero de prueba, estoy  intentando subir un documento de word, desde un ordenador local a un hosting, concretamente a la raiz del alojamiento.

No se si voy bien o no estoy usando los plugins adecuados, es por ello que adjunto el fichero.

Muchas gracias por vuestro tiempo.

 

Uploaded files:
  • You need to login to have access to uploads.

@luislopezlezcano el plugin neoFile es para realizar operaciones sobre archivos locales y solo funcionará en navegadores compatibles (Chrome y Edge).

Por favor mira aquí:
https://visualneo.com/forum/topic/neophp-plugin-3-4

Saludos.

Ante todo, gracias a @luishp, por la orientación que nos da.

Ya lo he resuelto y explico cómo, ya que puede haber alguien más, con las dudas que yo mismo me planteaba.

Para empezar, no hace falta un formulario para incluir el control de fichero, cosa que pensaba que hacía falta, pero no.

Eso sí, en el control de fichero deberéis de rellenar una serie de propiedades para que os funcione el dialogo de selección de fichero.

Son las siguientes.

Aceptar: Es la primera propiedad (Opcional) de la lista de propiedades, aquí, especificáis la extensión de archivo que deseáis que solo se vea en el dialogo de selección de fichero, solo con la extensión os colocará que pertenece a word, en mi caso “.docx”.

ID: Nombre sin espacios, ni caracteres especiales con el que nos referimos al control de fichero, en mi caso “FicheroAdjunto”.

Título o caption: Esto es el texto que veréis como descripción de objeto como botón, lo normal sería colocar “Seleccione un fichero”, “Adjuntar” o los famosos puntos suspensivos “...”.

Property-Name: (Obligado escribir algo) En este caso os aconsejo algún nombre por ejemplo “MiFichero” , Si esto no está rellenado, no saldrá el cuadro de dialogo de selección de fichero.

Variable: Esto os lo aconsejo rellenar, ya que tomará el nombre del fichero, que, aunque no lo vais a volver a emplear, puede servir como una variable a mostrar en una etiqueta para que el usuario sepa que ha seleccionado un fichero. Recordad colocar esta variable entre []. Aunque después almacena [“Mifichero.docx”], este será el resultado que veréis en la etiqueta.

Capture: esta propiedad seleccione “fuser”

Ahora vamos a incluir la línea de código en el procedimiento de evento “Change” o “Cambio” y aquí viene el kit de la cuestión, no incluya más código que el que escribo a continuación, ya que eso realiza la conversión a Base64 el guardado del dato no se puede realizar a continuación así que no incluya más líneas. En mi caso “Fichero Adjunto” es el ID del control de fichero y [base64Code] es la variable en la que almacenaremos el contenido del fichero.

LocalBinaryFileToBase64Var "FicheroAdjunto" [base64Code]
.(Puede incluir el siguiente paso debajo de esto, siempre que lo haga con una llamada a una subrutina, pero aconsejo primero pruebe con el botón)

Ahora, esto no es suficiente ya que de momento solo tenemos una variable con el contenido, ahora lo que debemos hacer es almacenar esa variable en el fichero que dejaremos en el servidor.

Para ello incluir un Botón de acción en el que en el procedimiento “Click” pondremos el siguiente código.

neoPhpFileWriteFromBase64 "ficheros/[NombreDocumento].docx" "[base64Code]" "Terminado"

En este ejemplo, verá que “ficheros/[NombreDocumento].docx” se ha incluido una variable “[NombreDocumento]”, pero podéis especificar un nombre directo del fichero, recuerde que si es siempre el mismo nombre, machaca el fichero anterior por el nuevo. La variable “[base64Code]”, es la variable en la que almacenamos el fichero que subimos, así que ahora el contenido lo pasa al fichero. Por último y de manera optativa, podemos incluir una subrutina, que nos puede venir bien para mostrar un cuadro de dialogo de proceso terminado, en mi caso la subrutina se llama “Terminado”

Pero todo esto, no funcionará, si no modificamos el fichero config.php en el que deberéis especificar el tipo de fichero a rellenar en mi caso es de tipo Word y utilizo el asterisco tal y como explica @luishp en este mismo post.

//Aceptacion fichero de word
$fileAlias[0]="*.docx";
$fileNames[0]="*.docx";
$filePermissions[0]="rw";
$fileMaxUserLevel[0]=-1;

Y esto ha sido todo, espero que le sirva a alguien, ya que a mí personalmente, me ha llevado unas cuantas horas comprenderlo a base de prueba y fallo.

 

luishp has reacted to this post.
luishp