[MOD] UpLoadGadget()

Rubriques generale concernant SpiderBasic
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

[MOD] UpLoadGadget()

Message par falsam »

Un module pour transférer un ou plusieurs fichiers vers un serveur.

Démonstration.
http://falsam.com/sbtest/uploadgadget.php

Dans cette exemple, c'est des fichiers images (.jpg, .png) que vous pouvez glisser sur la drop zone.
Le fichier ne doit pas dépasser 1 Mb.
Si vous utilisez Internet Explorer cliquer sur la drope zone.
Quand le fichier est transféré, un lien s'affichera pour le visualiser.

Syntaxe.
Result = UploadGadget(Gadget, x, y, Width, Height, Prompt$, Pattern$="", CallBack=#False, MaxFiles=1, MaxFilesSize=2)

Événements.
Ce gadget fait appel à un callback pour chacun de ces événements.

#DZ_EventType_Add : Un élément est ajouté sur la DropZone.

#DZ_EventType_Progress : Un fichier est en cours de transfert sur le serveur.

#DZ_EventType_Error : Une erreur vient de se produire. (Erreur type de fichier, fichier trop gros, etc...)

#DZ_EventType_Success : Transfert terminé.

#DZ_EventType_Maxfilesexceeded :Nombre de fichiers transférés simultanément dépassant la limite autorisée (MaxFiles).

Exemple.

Code : Tout sélectionner

IncludeFile "UploadGadget.sbi"

Declare OnUpload(Event.i, FileName.s, Size.i, Message.s)

UseModule DropZone
OpenWindow(0, 0, 0, 440, 250, "Demo", #PB_Window_ScreenCentered)
UploadGadget(0, 20, 20, 400, 200, "Drag your image file to this area", "*.png,*.jpg", @onUpload(), 1, 1) 

; UpLoadGadget() events
Procedure OnUpload(Event.i, FileName.s, Size.i, Message.s)
  Select Event
      
    Case #DZ_EventType_Add
      Debug FileName + " (" + Str(Size) + ") Add"
        
    Case #DZ_EventType_Progress
      Debug FileName + " Upload Progress " + Message + "%"
      
    Case #DZ_EventType_Success
      Debug FileName + " End of processing"
      
    Case #DZ_EventType_Error
      Debug FileName + " Error " + Message
      
    Case #DZ_EventType_Maxfilesexceeded
      Debug FileName + " Error " + Message
      
  EndSelect  
EndProcedure
Mise en oeuvre.
Lorsque vous créez votre application Web, Entrer un nom d'application suivi de l'extension .php
Exemple: yourapp.php

Copiez le script upload.php dans le dossier d'installation de votre application Web.

Copiez le script dropzone.js dans le dossier d'installation de votre application Web.

Download
DownLoad sur la plateforme collaborative GitHub
https://github.com/falsam/UpLoadGadget
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%