[upload] pour débutant...

julkien60 Messages postés 7 Date d'inscription mardi 17 juin 2008 Statut Membre Dernière intervention 16 octobre 2009 - 26 janv. 2009 à 14:46
fanatikx Messages postés 46 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 4 juin 2010 - 4 mars 2009 à 22:03
Bonjour,

Au grés de mes recherches sur internet j'ai trouver ce .fla qui permet d'uploader des fichiers via une interface en flash.

Je suis a la recherche d'une tel chose car l'upload de fichier via php foire passer 30 secondes (time out).

Ce script fonctionne jusqu'à un peu moins de 5 mo, mais je désire pouvoir aller jusqu'à' a 8 / 10 Mo.

De plus il faudrait pouvoir retourner le nom du fichier dans une variable (appelons la $fname) ainsi qu'une redirection (avec cette variable dans l'url) vers une autre page.

Je remercie tous ceux et celle qui sauront m'aider, car je ne connais absolument pas Flash.

Cordialement,

PS: voici le script en question :

import flash.net.FileReference;
import flash.net.FileReferenceList;
var listener:Object = new Object();

//============================================================================
// Définition des constantes du script//fileURL "upload.php";
MaxSize = 20000000;
//fileURL = "/cgi-bin/upload.pl";
//MaxSize = -1;

//============================================================================
// Formatage de la taille des fichiers
//============================================================================
function GetSizeFormat(Size:Number){
  if (Size >= 1000)
    return Math.floor(Size/1000) + " Ko";
  else
    return Size + " octets";
}

//============================================================================
// Sélection des fichiers + uploader la liste des fichiers//listener.onSelect function(fileRefList:FileReferenceList) {
  browse_btn.enabled = false;
  trace("onSelect");
  var list:Array = fileRefList.fileList;
  var file:FileReference;
  for(var i:Number = 0; i < list.length; i++) {
    file = list[i];
    trace("name: " + file.name);
    trace(file.addListener(this));
    if ((file.size <= MaxSize) or (MaxSize < 0)) {
      file.upload(fileURL);
    } else {
      var item:Object = new Object();
      item.FileSize = "Annule";
      item.FileName = file.name;
      grid.addItem(item);
    }
  }
}

//============================================================================
// Annulation du dialogue d'ouverture de fichiers//listener.onCancel function():Void {
  trace("onCancel");
  browse_btn.enabled = true;
  stat.text = "";
}

//============================================================================
// Evénement d'ouverture d'un fichier//listener.onOpen function(file:FileReference):Void {
  trace("onOpen: " + file.name);
}

//============================================================================
// Affichage de la progression//listener.onProgress function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
  if (bytesTotal == -1)
    stat.text = "Impossible de determiner le poids du fichier "+file.name;
  else {
    stat.text = "Telechargement de " + file.name + " : " +
      Math.floor((bytesLoaded/file.size)*100) + "% of " +
      GetSizeFormat(file.size);
    browse_btn.enabled = false;
  }
}

//============================================================================
// Téléchargement completé//listener.onComplete function(file:FileReference):Void {
  trace("onComplete: " + file.name);
  stat.text = "Le transfert est maintenant termine !";
  browse_btn.enabled = true;
  var item:Object = new Object();
  item.FileSize = GetSizeFormat(file.size);
  item.FileName = file.name;
  grid.addItem(item);
}

//============================================================================
// Evénement gestion des erreurs//listener.onHTTPError function(file:FileReference, httpError:Number):Void {
  trace("onHTTPError: " + file.name + " httpError: " + httpError);  stat.text "HTTPError Erreur de transmission du fichier " + file.name;
}
listener.onIOError = function(file:FileReference):Void {
  trace("onIOError: " + file.name);  stat.text "IOError Erreur de transmission du fichier " + file.name;
}
listener.onSecurityError = function(file:FileReference, errorString:String):Void {
  trace("onSecurityError: " + file.name + " errorString: " + errorString);  stat.text "SecurityError Erreur de transmission du fichier " + file.name + ". " + errorString;
}

//============================================================================
// Dialogue de sélection des fichiers//browse_btn.onRelease function():Void {
  stat.text = "Selection des fichiers a telecharger...";
  browse_btn.enabled = false;
  fileRef.browse(allTypes);
}

//============================================================================
// Main//var fileRef:FileReferenceList new FileReferenceList();
var allTypes:Array = new Array();
var imageTypes:Object = new Object();
imageTypes.description = "Tous fichiers (*.*)";
imageTypes.extension = "*.*;";
allTypes.push(imageTypes);
fileRef.addListener(listener);

PS2: je trouve pas de balise comme [code] donc excuser moi, si l'apparence n'est pas top.

1 réponse

fanatikx Messages postés 46 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 4 juin 2010
4 mars 2009 à 22:03
Salut,

cf conf apache et php pour régler le temps autorisé à l'execution.
0