162 messaggi dal 05 ottobre 2003
Dovrei fare un'anteprima di una immagine da uppare sul server come posso fare?
Ad uppare l'immagine non è un problema ma per fare l'anteprima come devo fare? Caricare l'immagine sul server è poi visualizzarla oppure c'è qualche altro metodo pìù veloce da poter usare?
perche fare l'anteprima? il 99 % dei sistemi operativi ha la visualizzazione come miniatura dei file.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
162 messaggi dal 05 ottobre 2003
Scusa mi sono spiegato male! Ho una pagina per uppure le foto in una cartella sul server con un campo descrizione; prima di upparla però dovrei fare nella pagina un'anteprima è possibile senza caricarla prima sul server?
lato server non puoi fare nulla, lato client con un pò di javascript lo puoi fare , ma quando clicchi si sfoglia hai già l'interfaccia che il SO mette a disposizione per qell'operazione, con anteprima annessa

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
162 messaggi dal 05 ottobre 2003
Scusa ma con che oggetto ?
come con che oggetto? in asp.net 1.1 con il controllo HtmlImputFile se non ricordo male.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
97 messaggi dal 04 ottobre 2004
Ho capito perfettamente cosa intendi, lo puoi fare utilizzando l'oggetto Image di javascript

<script language="javascript">
  <!--
    var oldFileName = '';

    function startTimer() {
      window.setInterval('makePreviews()', 100);
    }
    window.onload = startTimer;

    var IMAGE_COUNT = 5;
    var oldFileName = new Array(IMAGE_COUNT);
    for (var i = 0; i<=IMAGE_COUNT; i++) {
      oldFileName[i] = '';
    }

    var fileSizes = new Array(IMAGE_COUNT);
    for (var i = 0; i<=IMAGE_COUNT; i++) {
      fileSizes[i] = 0;
    }

    function updateTotalSize() {
      var t = 0;
      for (var i = 0; i<=IMAGE_COUNT; i++) {
        t += fileSizes[i];

      }
      imagesSizeSum.innerText = t;
      uploadTime.innerText = Math.round((t * 1000 * 8 / 33000 / 60) + .49);
      uploadTimeADSL.innerText = Math.round((t * 1000 * 8 / 128000 / 60) + .49);
      uploadTimeISDN.innerText = Math.round((t * 1000 * 8 / 64000 / 60) + .49);
    }

    function onImageLoaded(img, num) {
      var realimg = new Image();
      realimg .src = img .src;

      var res = calcResizing(realimg.width, realimg.height, 100, 100);
      img.width = res[0];
      img.height = res[1];
      fileSizes[num] = parseInt(img.fileSize / 1000);

      var currentSelectedFile = img .src;
      var re = /\\/g
      currentSelectedFile = currentSelectedFile.replace(re, '/');
      currentSelectedFile = currentSelectedFile.replace("'", "\'");
      currentSelectedFile = currentSelectedFile.substr(currentSelectedFile.lastIndexOf('/') + 1);
      eval('imageName' + num + '.innerText=' + '"Nome: " + "' + currentSelectedFile + '"');
      eval('fileWeight' + num + '.innerText=' + fileSizes[num] + ' + "Kb"');

      var realImage = new Image();
      realImage.src = img .src;
      eval('imageSize' + num + '.innerText=' + realImage.width + ' + "x" + ' + realImage.height);
      updateTotalSize();
    }

    function onImageLoadError(img, num) {
      img.width = 0;
      img.height = 0;
      fileSizes[num] = 0;
      eval('imageName' + num + '.innerText=""');
      eval('fileWeight' + num + '.innerText=""');
      eval('imageSize' + num + '.innerText=""');
      updateTotalSize();
    }

    function makePreviews() {
      for (var i=0; i<IMAGE_COUNT; i++) {
        makePreview(i);
      }
    }

    function makePreview(num) {
      var currentSelectedFile = eval('document.frm.image' + (num + 1) + '.value');
      if (currentSelectedFile == oldFileName[num]) {
        return;
      } else {
        oldFileName[num] = currentSelectedFile;
      }
      if (currentSelectedFile == "") {
        var t = eval("document.thumb" + (num + 1));
        t.src = "";
      } else {
        var t = eval("document.thumb" + (num + 1));
        t.src = currentSelectedFile;
      }
    }

    function calcResizing(srcWidth, srcHeight, trgWidth, trgHeight) {
      var fx, fy, f;
      fx = srcWidth / trgWidth;
      fy = srcHeight / trgHeight;
      if (fx > fy) f = fx; else f = fy;
      if (f < 1) f = 1;
      var res = new Array();
      res[0] = parseInt(srcWidth / f);
      res[1] = parseInt(srcHeight / f);
      return res;
    }
    

  //-->
  </script>



Naturalmete nel form devi predisporre i contenitori per contenere immagini e dati relativi ad essa, il form io di sopra l'ho chiamato frm. Lo script qui sopra non è che sia proprio scritto a modo, d'altronde questo è un forum di Asp.NET e quello script lo scopiazzato e adattato alle mie esigenze, senza però ottimizzarlo (tra l'altro l'ho fatto molto tempo fa e non ricordo nemmeno cosa fa esattamete forse permetteva l'upload simultano di 5 immagini)

<input name="image1" type="file" class="box_input" size="50"><br>
<span id="imageName1">&nbsp;</span>
<span id="fileWeight1">&nbsp;</span>
<span id="imageSize1">&nbsp;</span>
162 messaggi dal 05 ottobre 2003
Grazie !!! era quello che cercavo

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.