Visualizzazione dei risultati da 1 a 8 su 8

Hybrid View

  1. #1
    Ciao pegaso22,
    se devi inviare delle immagini (magari controllandone la dimensione massima),
    puoi usare lo script sottostante che trasforma l'immagine in una stringa (base64).

    A questo punto con una semplice chiamata ajax puoi trasferire al server "l'immagine" come stringa.
    Avevo utilizzato questo sistema per memorizzare offline dei form e trasferirli successivamente via ajax.

    Saluti


    codice:
    <!DOCTYPE>
    <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <title>Upload Image</title>
    <style>
      
    </style>
    <script>
    
    
    oFR = new FileReader(), 
    rFilter = /^image\/(?:gif|jpeg|jpg|png)$/i;
    
    
    function loadImageFile() {
      var J=document.getElementById("id_uploadImage");
      if(J.files.length===0) return;
      var oFile = J.files[0],  
          FLN=oFile.name,           // nome file
          FLZ=oFile.size;           // dimensione file
    
      if(!rFilter.test(oFile.type)) { alert("Tipo file errato! (jpg, png, gif)!"); return; }    // tipo immagine
      if(FLZ>2100000) { alert("Attenzione! Massima dimensione file 2MB."); return;  }
     
      oFR.readAsDataURL(oFile);
              
      oFR.onload=function(e) {
        var s=e.target.result;
        document.getElementById("id_preview").src=s; 
        document.getElementById("id_picture").value=s;                      
      }
    }
    
    
    
    </script>  
      </head>
      <body>
    
      <input id="id_uploadImage" type="file" accept="image/*;capture=camera" onchange="loadImageFile();"  value="" /> 
      <br><br>
      Stringa da inviare tramite chiamata Ajax:
      <br>
      <textarea id='id_picture'  style='width:320px;height:200px;'></textarea>
      <br><br>
      Anteprima:<br>
      <img id='id_preview' src='' width="200px">
       
      </body>
    </html>

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,822
    Quote Originariamente inviata da Tonenge Visualizza il messaggio
    puoi usare lo script sottostante che trasforma l'immagine in una stringa (base64).
    bella 'sta cosetta

    nel provarla su xp ho notato che Opera e Safari non eseguono lo script
    (nemmeno IE8, e non ho altre versioni di IE per provare).
    invece rispondono correttamente Chrome e FireFox.

    pensi ci sia modo di renderlo eseguibile da quei browser?


  3. #3
    Ciao,
    il supporto di "FileReader" è abbastanza limitato su browsers non recenti...
    Ciò che secondo me risulta rilevante è il contesto di utilizzo:
    se si esegue lo script al fine di creare una web application su mobile (smartphone, tablet) il supporto su ios e android è buono.

    Non penso ci sia un modo per rendere retrocompatibile lo script.

    Saluti

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 © 2026 vBulletin Solutions, Inc. All rights reserved.