quindi ho un file swf ke ha il compito di uploudare le immagini in un server..funziona perfettamente..unico problema il caricamento dei byte dell'immagine nn è quello effetttivo è troppo veloce e quindi si ha ke la progressBarr sia già arrivata al 100% quando ancora l'immagine realtmente nn è stata uploudata del tutto nel server..da cosa dipende? il codice è giusto io ve lo posto cmq..
codice swf
Code:
bar._visible = false;
base._visible = false;
System.security.allowDomain("http://unofficialarki.altervista.org");
import flash.net.FileReference;
var fileRef:FileReference = new FileReference();
var uploadScript:String = "upload.php";
var browseListener:Object = new Object();
browseListener.click = function () {
if (browse_btn.label == "Browse") {
browseFiles();
} else {
uploadFile();
}
}
browse_btn.addEventListener("click", browseListener);
function browseFiles ():Void {
campoInfo.text += "\nbrowseFiles()";
var fileTypes:Array = [{description: "Image files", extension: "*.jpg;*.gif;*.png", macType: "JPEG;jp2_;GIFf;PNGf"}];
fileRef.browse(fileTypes);
}
function uploadFile ():Void {
campoInfo.text += "\nuploadFile()";
var uploaded:Boolean = fileRef.upload(uploadScript);
campoInfo.text += "\nuploaded: " + uploaded;
}
var fileListener:Object = new Object ();
fileListener.onCancel = function () {
campoInfo.text += "\nonCancel";
}
fileListener.onOpen = function(file:FileReference):Void {
campoInfo.text += "\nonOpen: " + file.name;
}
fileListener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
campoInfo.text += "\nCaricamento in corso: bytes caricati: "+ bytesLoaded +" di bytes totali: "+ bytesTotal;
bar._visible = true;
base._visible = true;
caricato= int((bytesLoaded/bytesTotal) * 100);
setProperty("bar", _xscale, caricato);
};
fileListener.onComplete = function(file:FileReference):Void {
campoInfo.text += "\n"+ file.name +" upload completato";
bar._visible = false;
base._visible = false;
browse_btn.label = "Browse";
};
fileListener.onHTTPError = function(file:FileReference, httpError:Number):Void {
campoInfo.text += "\n*** onHTTPError: Error Code: " + httpError;
}
fileListener.onIOError = function(file:FileReference):Void {
campoInfo.text += "\n*** onIOError: " + file.name;
}
fileListener.onSecurityError = function(file:FileReference, errorString:String):Void {
campoInfo.text += "\n*** onSecurityError: " + file.name + " errorString: " + errorString;
}
fileListener.onSelect = function (file:FileReference) {
campoInfo.text += "\nonSelect";
for (var i in file) {
campoInfo.text += "\n" + i + file[i];
}
campoNome.text = file.name;
browse_btn.label = "Upload";
}
fileRef.addListener(fileListener);
codice php
PHP Code:
//create the directory if doesn't exists (should have write permissons)
if(!is_dir("./files")) mkdir("./files", 0755);
//move the uploaded file
move_uploaded_file($_FILES['Filedata']['tmp_name'], "./files/".$_FILES['Filedata']['name']);
chmod("./files/".$_FILES['Filedata']['name'], 0777);
?>
cioè ho pensato ke forse dovrebbe essere il php ad inviare i bytte caricati o nn so..voi sapresti dirmi xkè si comporta così?..attendo con ansia risposte...grazie di tutto in anticipo =)
Bookmarks