Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Upload con flash, fileReference.onComplete

    Ciao, forse mi sto mettendo su una cosa un po' più grande di me, quindi siate pazienti :-)

    Ho scaricato swfupload, che mi dovrebbe facilitare le cose nell'upload di grossi file via web.

    A un primo occhio è fantastico, e anche se la adobe dice che il limite massimo di upload è di circa 100 mega (per i quali non ho problemi), molti utenti dicono che riescono a fare upload anche di gigabytes.

    Il mio intento non è di arrivare cosi lontano, ma vorrei permettere l'upload di file di almeno 200 mega.

    Alla fine dell'upload (durante il quale viene animata una progressbar) lo script fa scaturire l'evento che mostra il messaggio di upload completato.

    Il problema è che se lo script php ci mette "troppo" (nell'ordine di 60 secondi) a rispondere l'evento non viene scaturito.

    Questo è un caso abbastanza frequente quando bisogna spostare file di certe dimensioni, cosi ho provato a vedere i sorgenti as dello script (che potete trovare anche qui:http://svn.swfupload.org/tags/swfupl...evelop/Flash9/)

    e sono arrivato a questo punto:

    codice:
    if (start_upload) {
    	try {
    	// Set the event handlers
    		this.current_file_item.file_reference.addEventListener(ProgressEvent.PROGRESS, this.FileProgress_Handler);
    		this.current_file_item.file_reference.addEventListener(IOErrorEvent.IO_ERROR, this.IOError_Handler);
        this.current_file_item.file_reference.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.SecurityError_Handler);				
    this.current_file_item.file_reference.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.HTTPError_Handler);
    this.current_file_item.file_reference.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, this.ServerData_Handler);					
    	// Upload the file
    	var request:URLRequest = this.BuildRequest();
    	
    	this.Debug("startFile(): File Reference found. File accepted by startUpload event.  Starting upload to " + request.url + " for File ID: " + this.current_file_item.id);
    	this.current_file_item.file_reference.upload(request, this.filePostName, false);
    	} catch (ex:Error) {
    		this.upload_errors++;
    		this.current_file_item.file_status = FileItem.FILE_STATUS_ERROR;
    		var message:String = ex.errorID + "\n" + ex.name + "\n" + ex.message + "\n" + ex.getStackTrace();
    		this.Debug("Event: uploadError(): Unhandled exception: " + message);
    		ExternalCall.UploadError(this.uploadError_Callback, this.ERROR_CODE_UPLOAD_FAILED, this.current_file_item.ToJavaScriptObject(), message);
    					
    		this.UploadComplete();
    }
    Ora mi chiedevo, nella linea che ho evidenziato in grossetto, è possibile in qualche modo gestire il timeout?

    Grazie per l'attenzione

  2. #2
    Utente di HTML.it L'avatar di nep036
    Registrato dal
    Nov 2003
    Messaggi
    1,453
    Secondo me flash non centra nulla...

    controlla nel php ini i settaggi della grandezza massima uploadabile e della durata massima d'esecuzione degli script -> timeout



  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Ho fatto un po' di prove, mettendo nella pagina target di php degli sleep per simulare il tempo di attesa lungo.

    Se chiamo la pagina upload.php con il browser non ho errori di timeout ne di upload (il file finisce dove mi aspetto correttamente), ma sembra che flash non aspetti la risposta del server.

    Grazie, ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714
    si direi che il filereference è un po' scadente certe volte ... potresti con un setinterval controllare sul server la presenza del file e quindi interrompere da li l'upload ... temo che sia proprio l'unica soluzione ...

    tra l'altro questo problema mi si presenta anche non upload multiplo e l'ho risolto con dei controlli a tempo!
    Fotografario MultiUtente Interamente in Flash: QUI

  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da Mir
    si direi che il filereference è un po' scadente certe volte ... potresti con un setinterval controllare sul server la presenza del file e quindi interrompere da li l'upload ... temo che sia proprio l'unica soluzione ...

    tra l'altro questo problema mi si presenta anche non upload multiplo e l'ho risolto con dei controlli a tempo!
    Ti ringrazio per lo spunto, ho proprio seguito il tuo consiglio e trovato una soluzione adeguata.

    Se dovesse servire a qualcuno, il problema era legato a swfupload v.2, ho postato la mia soluzione sul forum ufficiale, con un inglese un po' incerto ma si dovrebbe capire.

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.