2 votes

problème avec le téléchargement d'images dans le front-end

J'ai besoin d'implémenter le téléchargement d'une image où une vignette apparaît à côté des boutons... je l'ai implémenté en utilisant la fonction "getAsDataURL",... cela ne fonctionne pas dans chrome et safari.... une solution ??

<script type="text/javascript">
    function setImage(file) {
        if(document.all)
            document.getElementById('prevImage').src = file.value;
        else
            document.getElementById('prevImage').src = file.files.item(0).getAsDataURL();
        if(document.getElementById('prevImage').src.length > 0) 
            document.getElementById('prevImage').style.display = 'block';
    }
</script>

<div class="uploading_block_inner">
                                <div class="uploaded_img_inner"><img id="prevImage" style="display:none;" width="91" height="91" /></div>
                                <div class="submit_button_upload">
                                    <div class="upload"><input type="file" id=""  name="myImage" onchange="setImage(this);" /></div>
                                </div>
                                <div class="upload_submit_inner"><input type="submit" name="" value="" /></div>                             
                            </div>

0voto

rt2800 Points 1877

En supposant que vous utilisez jQuery, j'ai la solution suivante pour vous.

$(document).ready(function(){
    $('input[type=file]').on('change', setImage);
});

function setImage(file) 
{
  if(document.all)
  {
    document.getElementById('prevImage').src = file.value;
  }
  else
  {
    document.getElementById('prevImage').src = file.files.item(0).getAsDataURL(); 
  }

  if(document.getElementById('prevImage').src.length > 0)
  {
    document.getElementById('prevImage').style.display = 'block'; 
  }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X