Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: File uploader 2.0

  1. #1

    File uploader 2.0

    Come avete risolto il problema di inviare file in web2.0-way?
    No iframe e simili però.
     
    :: Instant WebKiosk, a browser-only Linux operating system ::

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Credo che non volendo usare iframe ti rimanga solo flash, sicuramente no con il solo ajax se intendi questo quando ti riferisci a web2.0-way
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    In realtà, sto cercando di farlo funzionare senza nulla fuorchè il browser.
    Usando FF3.6 riesco a far l'upload asincrono di file, però di solo testo...

    Qui spiego come:
    https://developer.mozilla.org/en/Usi...ions#section_9

    Però vorrei aiuto sul come utilizzare file binari... ogni mio tentativo di codificarli in base64 non ha dato i risultati sperati...
     
    :: Instant WebKiosk, a browser-only Linux operating system ::

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Insisto ajax sincro/asincrono non trasmette dati binari è un limite del metodo
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Perchè, tu hai mai visto dati binari (non codificati) transitare per l'HTTP??...

    In PHP, ad esempio, un file binario viene inviato al browser in un modo quale il seguente:

    codice:
    public static function forceDownload(/* String */ $file) /* void */
            {
            $dim = filesize($file);
    
            $fileName = substr($file,strrpos($file,"/")+1,strlen($file));
            $ext = strtolower(substr($fileName,strrpos($fileName,".")+1,strlen($file)));
    
            if ($ext=="pdf") $apptype = "application/pdf";
            else $apptype = "application/force-download";
    
            if ($dim>0 && $fileName!="")
                {
                header("Content-Type: ".$apptype."; name=\"".$fileName."\"");
                header("Content-Transfer-Encoding: binary");
                header("Content-Length: ".$dim);
                header("Content-Disposition: attachment; filename=\"".$fileName."\""); // il browser deve salvare il file (in genere chiede anche se aprirlo al volo)
                header("Expires: 0");
                header("Cache-Control: no-cache, must-revalidate");
                header("Cache-Control: private");
                header("Pragma: public");
    
                readfile($file); // auto-encodes: binary to string output.
                }
    
            else return false;
            }
    
    readfile è il quid. Quid che mi servirebbe in JS!
     
    :: Instant WebKiosk, a browser-only Linux operating system ::

  6. #6
     
    :: Instant WebKiosk, a browser-only Linux operating system ::

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da emmebì
    In PHP, ad esempio, un file binario viene inviato al browser in un modo quale il seguente:
    Questo e' il contrario di cio' che chiedi... il browser non puo' leggere un file sul pc dell'utente (senza esplicito consenso dell'utente) e se anche fosse possibile, in ajax non si possono inviare dati binari... dovresti convertirli prima, ma in javascript non esiste la possibilita' di leggerli e trasformarli.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Originariamente inviato da br1
    il browser non puo' leggere un file sul pc dell'utente (senza esplicito consenso dell'utente)
    (Ora) non vero: https://developer.mozilla.org/en/Usi...b_applications oppure vero se il tuo "esplicito consenso dell'utente" include l'utilizzo del tasto "Sfoglia" dell'input box oppure del drag&drop.

    e se anche fosse possibile, in ajax non si possono inviare dati binari...
    Nè in ajax nè mai, se usiamo il protocollo HTTP...

    dovresti convertirli prima,
    E' esattamente ciò che mi serve.
    Il codice riportato si occupa di codificare il file per l'invio in HTTP; lasciando stare i singoli comandi, per farmi capire meglio, tempo fa ho fatto la medesima cosa in vb: guardate la signature del metodo: mi serve questa medesima cosa.

    codice:
    ' Reads binary data and encodes them as a string (for HTTP payload for example)
    Public Function binaryRead(fileName As String) As String
        Dim fnum As Integer
        Dim strBuff As String
    
        If FileExists(fileName) Then
              fnum = FreeFile
        
              Open fileName For Binary As #fnum
                  strBuff = Space(LOF(1))
                  Get #fnum, , strBuff
              Close #fnum
        End If
        
        binaryRead = strBuff
    End Function
     
    :: Instant WebKiosk, a browser-only Linux operating system ::

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    ... e quale protocollo invece vorresti usare? :master:

    ci rinuncio, e' fuori dalla mia portata ... auguri
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  10. #10
    Mah, sì che non mi pare difficile...

    L'HTTP è un protocollo testuale, per il quale i dati binari vengono prima codificati.
    Quindi non voglio certo inviare dati BINARI in HTTP, ma magari la loro CODIFICA.
     
    :: Instant WebKiosk, a browser-only Linux operating system ::

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.