Uploadify - Primeros pasos
Ejemplo 1 - Mi primera carga
 
Pasos:
1) Arrastrar el control a la forma.
2) En el tab de eventos un fragmento de código con un ejemplo será creado:
Event Uploadify1.OnAllComplete
  for &File in &UploadedFiles
    msg(&File.OriginalFileName)
  endfor
EndEvent    

Event Uploadify1.OnCancel
  &File = Uploadify1.File
  msg("Cancel:" + &File.OriginalFileName)
EndEvent

Event Uploadify1.OnError
  &File = Uploadify1.File
  msg("Error uploading file:" + &File.OriginalFileName)
  msg(Uploadify1.Error)
EndEvent

Event Start
  &FileExtensionList.Add("*.*")
EndEvent
 
3) Descomente el código y ya está listo para ser probado. Cada vez que se ejecute una carga de manera exitosa se disparará el evento "OnAllComplete". En la variable &UploadedFile encontrará la información de cada archivo cargado, si solamente se carga un archivo entonces habrá un solo registro. Cada elemento en la colección (archivo cargado) tendrá su nombre original y el camino completo del archivo creado en el servidor (si &UploadedFile es el elemento, &File.OriginalFileName y &UploadedFile.TemporalFileName representan el nombre original del archivo y el camino temporal completo).
 
Ejemplo 2 - Insertar en la base de datos 
Si desea insertar el archivo en la base de datos, solamente necesita asignar el camino temporal completo a una variable Blob, por ejemplo:
 
// &blob es una variable de tipo Blob, &UploadedFile es una variable de tipo UploadifyOutput, y &UploadedFiles es una colección de UploadifyOutput
for &UploadedFile in &UploadedFiles
  &blob = &UploadedFile.TemporalFileName
  // ya está la variable &blob cargada y lista para su uso, por ejemplo, llamando un procedimiento que inserta el blob en la base de datos
endfor
 
 
 
Ejemplo 3 - Mover el archivo cargado a otra carpeta en el servidor
 
Puede utilizar File Data Type, por ejemplo si tiene una variable &file (File Data Type) puede hacer lo siguiente:
 
&File.Source = &UploadedFile.TemporalFileName
&File.Copy(&NewPath)
 
 
Ejemplo 4 - Cambiar la imagen de un botón
 
Usted puede cambiar la imagen de un botón como en la página "cargar producto" del Marketplace de GeneXus.
 
 
En el evento Start:
UploadifyControl.ButtonImage = MyImage.Link()
Donde: "UploadifyControl" es el controlName de Uploadify y "MyImage" es una imagen GeneXus (en este caso multi-lenguaje)
 
Ejemplo 5 - Cambiar propiedades en tiempo de ejecución
 
Usted puede cambiar algunas propiedades en tiempo de ejecución (como por ejemplo el texto de un botón).
Para que el cambio sea efectivo debe ejecutarse el método refresh.
Event 'Change'
  Uploadify1.SizeLimit = &sizeLimit
  Uploadify1.ButtonImage = NewImage.Link()
  Uploadify1.Refresh()
EndEvent
 
Nota:
En Java si tiene necesidad de utilizar el tipo de datos File para cargar un archivo desde su camino relativo (solo el nombre, por ejemplo), puede utilizar algo como lo siguiente:
 
java [!&pathTemp!] =  httpContext.getDefaultPath();
&File.Source = &pathTemp + "\" + &UploadifyFile.TemporalFileName 
Páginas relacionadas: