Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Ridimensionare n file ...

    Ciao a tutti ...

    Ho una pagina asp.net (che allego) che non fa altro che ridimensionare dei file presenti nella cartella img e metterli in public ridimensionati.
    La pagina è liberamente tratta da vari articoli/post di html.it

    Il problema è che in locale mi ridimensiona tutti i file che ci sono in img mentre quando lo copio sul server ne ridimensiona solo 1, ma non ritorna nessun errore

    Eppoi, perché con IE mi compare <HTML /> mentre con FF la pagina bianca

    In locale ho installato:2.0.50727.42
    mentre sul server: 1.1.4322.2379

    Può essere questo il problema ?

    Codice PHP:
    <%@ Page Language="C#" Debug="true" %>

    <%@ 
    import Namespace="System"%>
    <%@ 
    import Namespace="System.IO"%>
    <%@ 
    import Namespace="System.Drawing" %>
    <%@ 
    import Namespace="System.Drawing.Imaging" %>
    <%@ 
    import Namespace="System.Text.RegularExpressions" %>

    <
    HTML>
    <
    script Language="C#" runat="server">
    void Page_Load(Object senderEventArgs e)
    {
    int ThumbnailWidth 64;
    int ThumbnailHeight 64;
    string strFileName "";
    string destinazione Server.MapPath("./public/");

    double orgImgWidth 0.0;
    double orgImgHeight 0.0;
    double rThumbnailWidth 0.0;
    double rThumbnailHeight 0.0;

    string strPerc Server.MapPath("./img/");

    DirectoryInfo miaDir null;
    miaDir = new DirectoryInfo(strPerc);
    DirectoryInfo[] subDirectories miaDir.GetDirectories();
    FileInfo[] listaFile miaDir.GetFiles();
    ThumbnailWidth Convert.ToInt32(100);

    Response.Write("Lista file " listaFile.Length);
    Response.Write("Ciao");

    for (
    int i 0listaFile.Lengthi++)
          {
           try
            {
             
    strFileName listaFile[i].Name;
             
    String strFilePath listaFile[i].FullName.ToString();
                
             
    using(System.Drawing.Image tmpImage System.Drawing.Image.FromFile((strFilePath)))

              {
               
    rThumbnailWidth ThumbnailWidth;
               
    rThumbnailHeight ThumbnailHeight;
               
    orgImgWidth tmpImage.Width;
               
    orgImgHeight tmpImage.Height;
               
               
    // Se l'immagine è più piccola del Thumbnail forziamo le dimensioni di
               // quest'ultimo alle dimensioni dell'immagine.
               
    if (orgImgWidth ThumbnailWidthThumbnailWidth tmpImage.Width;
               if (
    orgImgHeight ThumbnailHeightThumbnailHeight tmpImage.Height;
               
               
    // Se le dimensioni dell'immagine e del Thumbnail corrispondono non facciamo nulla.
               // quindi se l'immagine è quadrata...
               
               
    if (tmpImage.Width != tmpImage.Height)
                {
                 
    // Se l'immagine non è quadrata
                 // continuiamo a fare i nostri controlli per calcolarne le
                 // giuste dimensioni e quindi creare la nostra nuova immagine con
                 // l'aspectratio corretto.
                 // Se l'immagine è più larga che alta
                 
    if (tmpImage.Width tmpImage.Height)
                  {
                   
    // L > H => L = tL
                   // La larghezza del TN sarà quella da noi stabilita
                   // quindi dobbiamo solo assegnarla.
                   
    rThumbnailWidth ThumbnailWidth;
                   
    // L'altezza del TN invece dovrà essere ricalcolata
                   // in proporzione alla larghezza dell'immagine originale.
                   // L > H => tH = (H * tL)/ L
                   
    rThumbnailHeight = (double)((tmpImage.Height ThumbnailWidth) / tmpImage.Width);
                  } 
    // if (tmpImage.Width > tmpImage.Height)
                 
    else
                  {
                   
    // Altrimenti se l'immagine è più alta
                   
    if (tmpImage.Width tmpImage.Height)
                    {
                     
    // L < H => H = tH
                     // L'altezza del TN sarà quella da noi stabilita
                     // quindi dobbiamo solo assegnarla.
                     
    rThumbnailHeight ThumbnailHeight;
                     
    // La larghezza del TN invece dovrà essere ricalcolata
                     // in proporzione alla altezza dell'immagine originale.
                     // L < H => tL = (L * tH)/ H
                     
    rThumbnailWidth = (double)((tmpImage.Width ThumbnailHeight) / tmpImage.Height);
                    } 
    // if (tmpImage.Width < tmpImage.Height)
                  
    // else
                
    // if (tmpImage.Width != tmpImage.Height)
               
    using(Bitmap bitmap = new Bitmap(tmpImage, (int)(rThumbnailWidth), (int)(rThumbnailHeight)))
                {
                 
    Response.ContentType tmpImage.RawFormat.ToString();
                 
    Response.Clear();
                 
    Response.BufferOutput true;
                 
    //Response.AddHeader("Content-Disposition", "filename=" + strFileName);
                
                 // In questo caso viene creata e salvata la Thumbnail dell'immagine in /thumbs/
                 
    if ((tmpImage.Width ThumbnailWidth) || (tmpImage.Height ThumbnailHeight))
                  {
                   
    //bitmap.Save(Response.OutputStream, tmpImage.RawFormat);
                   
    bitmap.Save((destinazione strFileName), tmpImage.RawFormat);
                  } 
    // if ((tmpImage.Width > ThumbnailWidth) || (tmpImage.Height > ThumbnailHeight))
                 
    else // L'immagine rientra già nella dimensione da noi decisa quindi non serve creargli il Thumbnail.
                  
    {
                   
    //bitmap.Save(Response.OutputStream, tmpImage.RawFormat);
    //               Se vuoi che l'immagine venga comunque salvata nella cartella dei Thumbnails leva "//" dalla riga sottostante.
                   
    bitmap.Save(destinazione strFileNametmpImage.RawFormat);
                  } 
    // else
                 
    Response.Flush();
                } 
    // using(Bitmap bitmap = new Bitmap(orgImage, (int)(rThumbnailWidth), (int)(rThumbnailHeight)))
              
    // using(System.Drawing.Image tmpImage = System.Drawing.Image.FromFile(Server.MapPath(strFileName)))
            
    // try
           
    catch (Exception ex)
            {
             
    //Response.Write(ex.Message);
            
    // catch (Exception ex)
           
    finally
            {
             
    //Response.Write("\nCoded by R.B. Riddick");
            
    }
        

        }
    }
    </script>
    </HTML> 
    _____________

    Bruce

    www.palestracft.it

  2. #2
    Intanto inizia a riabilitare :

    Codice PHP:
           catch (Exception ex)
            {
             
    Response.Write(ex.Message);
            } 
    // catch (Exception ex) 
    Altrimenti come fai a vedere se restituisce un errore?
    Se la pagina va in crash dopo il primo file smette di processare
    i successivi.

    Ciao!
    Richard B. Riddick : "Non avrete mica paura del buio?"

    Scusatemi ma sono mesi che non pago piu' la bolletta della luce....

  3. #3
    Prova un pò con questo :

    Codice PHP:
    <%@ Page Language="C#" Debug="true" %>

    <%@ 
    import Namespace="System"%>
    <%@ 
    import Namespace="System.IO"%>
    <%@ 
    import Namespace="System.Drawing" %>
    <%@ 
    import Namespace="System.Drawing.Imaging" %>
    <%@ 
    import Namespace="System.Text.RegularExpressions" %>

    <
    HTML>
    <
    script Language="C#" runat="server">
    void Page_Load(Object senderEventArgs e)
    {
    int ThumbnailWidth 64;
    int ThumbnailHeight 64;
    string strFileName "";
    string destinazione Server.MapPath("./public/");

    double orgImgWidth 0.0;
    double orgImgHeight 0.0;
    double rThumbnailWidth 0.0;
    double rThumbnailHeight 0.0;

    string strPerc Server.MapPath("./img/");

    DirectoryInfo miaDir null;
    miaDir = new DirectoryInfo(strPerc);
    DirectoryInfo[] subDirectories miaDir.GetDirectories();
    FileInfo[] listaFile miaDir.GetFiles();
    ThumbnailWidth Convert.ToInt32(100);
    ThumbnailHeight Convert.ToInt32(100);

    Response.Write("Lista file " listaFile.Length);
    Response.Write("Ciao");

    for (
    int i 0listaFile.Lengthi++)
          {
           try
            {
             
    strFileName listaFile[i].Name;
             
    String strFilePath listaFile[i].FullName.ToString();
                
             
    using(System.Drawing.Image tmpImage System.Drawing.Image.FromFile((strFilePath)))

              {
               
    rThumbnailWidth ThumbnailWidth;
               
    rThumbnailHeight ThumbnailHeight;
               
    orgImgWidth tmpImage.Width;
               
    orgImgHeight tmpImage.Height;
               
               
    // Se l'immagine è più piccola del Thumbnail forziamo le dimensioni di
               // quest'ultimo alle dimensioni dell'immagine.
               
    if (orgImgWidth ThumbnailWidthThumbnailWidth tmpImage.Width;
               if (
    orgImgHeight ThumbnailHeightThumbnailHeight tmpImage.Height;
               
               
    // Se le dimensioni dell'immagine e del Thumbnail corrispondono non facciamo nulla.
               // quindi se l'immagine è quadrata...
               
               
    if (tmpImage.Width != tmpImage.Height)
                {
                 
    // Se l'immagine non è quadrata
                 // continuiamo a fare i nostri controlli per calcolarne le
                 // giuste dimensioni e quindi creare la nostra nuova immagine con
                 // l'aspectratio corretto.
                 // Se l'immagine è più larga che alta
                 
    if (tmpImage.Width tmpImage.Height)
                  {
                   
    // L > H => L = tL
                   // La larghezza del TN sarà quella da noi stabilita
                   // quindi dobbiamo solo assegnarla.
                   
    rThumbnailWidth ThumbnailWidth;
                   
    // L'altezza del TN invece dovrà essere ricalcolata
                   // in proporzione alla larghezza dell'immagine originale.
                   // L > H => tH = (H * tL)/ L
                   
    rThumbnailHeight = (double)((tmpImage.Height ThumbnailWidth) / tmpImage.Width);
                  } 
    // if (tmpImage.Width > tmpImage.Height)
                 
    else
                  {
                   
    // Altrimenti se l'immagine è più alta
                   
    if (tmpImage.Width tmpImage.Height)
                    {
                     
    // L < H => H = tH
                     // L'altezza del TN sarà quella da noi stabilita
                     // quindi dobbiamo solo assegnarla.
                     
    rThumbnailHeight ThumbnailHeight;
                     
    // La larghezza del TN invece dovrà essere ricalcolata
                     // in proporzione alla altezza dell'immagine originale.
                     // L < H => tL = (L * tH)/ H
                     
    rThumbnailWidth = (double)((tmpImage.Width ThumbnailHeight) / tmpImage.Height);
                    } 
    // if (tmpImage.Width < tmpImage.Height)
                  
    // else
                
    // if (tmpImage.Width != tmpImage.Height)
               
    using(Bitmap bitmap = new Bitmap(tmpImage, (int)(rThumbnailWidth), (int)(rThumbnailHeight)))
                {
                 
    Response.ContentType tmpImage.RawFormat.ToString();
                 
    Response.Clear();
                 
    Response.BufferOutput true;
                 
    //Response.AddHeader("Content-Disposition", "filename=" + strFileName);
                
                 // In questo caso viene creata e salvata la Thumbnail dell'immagine in /thumbs/
                 
    if ((tmpImage.Width ThumbnailWidth) || (tmpImage.Height ThumbnailHeight))
                  {
                   
    //bitmap.Save(Response.OutputStream, tmpImage.RawFormat);
                   
    bitmap.Save((destinazione strFileName), tmpImage.RawFormat);
                  } 
    // if ((tmpImage.Width > ThumbnailWidth) || (tmpImage.Height > ThumbnailHeight))
                 
    else // L'immagine rientra già nella dimensione da noi decisa quindi non serve creargli il Thumbnail.
                  
    {
                   
    //bitmap.Save(Response.OutputStream, tmpImage.RawFormat);
    //               Se vuoi che l'immagine venga comunque salvata nella cartella dei Thumbnails leva "//" dalla riga sottostante.
                   
    bitmap.Save(destinazione strFileNametmpImage.RawFormat);
                  } 
    // else
                 
    Response.Flush();
                } 
    // using(Bitmap bitmap = new Bitmap(orgImage, (int)(rThumbnailWidth), (int)(rThumbnailHeight)))
              
    // using(System.Drawing.Image tmpImage = System.Drawing.Image.FromFile(Server.MapPath(strFileName)))
            
    // try
           
    catch (Exception ex)
            {
             
    //Response.Write(ex.Message);
            
    // catch (Exception ex)
           
    finally
            {
             
    //Response.Write("\nCoded by R.B. Riddick");
            
    }
        

        }
    }
    </script>
    </HTML> 

    a me funziona alla perfezione

    Richard B. Riddick : "Non avrete mica paura del buio?"

    Scusatemi ma sono mesi che non pago piu' la bolletta della luce....

  4. #4
    Fatto, l'errore che da è questo ...

    Server cannot set content type after HTTP headers have been sent.
    Server cannot set content type after HTTP headers have been sent.
    Server cannot set content type after HTTP headers have been sent.

    e grazie
    _____________

    Bruce

    www.palestracft.it

  5. #5
    Ora provo il tuo ... il mio cmq in locale funziona ... è solo sul server remoto che non va :-(

    ora provo il tuo ...

    Ciao e grazie
    _____________

    Bruce

    www.palestracft.it

  6. #6
    Mi dà lo stesso errore ... :-(

    che completo è:

    codice:
    Errore interpretazione XML: errore di sintassi
    Indirizzo: 
    Linea numero 1, colonna 1:
    
    Server cannot set content type after HTTP headers have been sent.Server cannot set content type after HTTP headers have been sent.Server cannot set content type after HTTP headers have been sent.
    ^
    _____________

    Bruce

    www.palestracft.it

  7. #7
    Io l'ho provato sia online che in locale e tutto funziona correttamente....
    NB : controlla i permessi delle cartelle.

    Prova ad usare questo allora :

    Codice PHP:
    <%@ Page Language="C#" Debug="true" %>

    <%@ 
    import Namespace="System"%>
    <%@ 
    import Namespace="System.IO"%>
    <%@ 
    import Namespace="System.Drawing" %>
    <%@ 
    import Namespace="System.Drawing.Imaging" %>
    <%@ 
    import Namespace="System.Text.RegularExpressions" %>

    <
    script Language="C#" runat="server">
    void Page_Load(Object senderEventArgs e)
    {
    int ThumbnailWidth 64;
    int ThumbnailHeight 64;
    string strFileName "";
    string destinazione Server.MapPath("./public/");

    double orgImgWidth 0.0;
    double orgImgHeight 0.0;
    double rThumbnailWidth 0.0;
    double rThumbnailHeight 0.0;

    string strPerc Server.MapPath("./img/");

    DirectoryInfo miaDir null;
    miaDir = new DirectoryInfo(strPerc);
    DirectoryInfo[] subDirectories miaDir.GetDirectories();
    FileInfo[] listaFile miaDir.GetFiles();
    ThumbnailWidth Convert.ToInt32(100);
    ThumbnailHeight Convert.ToInt32(100);

    Response.Write("Numero totale file : " listaFile.Length "
    "
    );

    for (
    int i 0listaFile.Lengthi++)
          {
           try
            {
             
    strFileName listaFile[i].Name;
             
    String strFilePath listaFile[i].FullName.ToString();
             
    Response.Write(strFilePath "
    "
    );
                
             
    using(System.Drawing.Image tmpImage System.Drawing.Image.FromFile((strFilePath)))

              {
               
    rThumbnailWidth ThumbnailWidth;
               
    rThumbnailHeight ThumbnailHeight;
               
    orgImgWidth tmpImage.Width;
               
    orgImgHeight tmpImage.Height;
               
               
    // Se l'immagine è più piccola del Thumbnail forziamo le dimensioni di
               // quest'ultimo alle dimensioni dell'immagine.
               
    if (orgImgWidth ThumbnailWidthThumbnailWidth tmpImage.Width;
               if (
    orgImgHeight ThumbnailHeightThumbnailHeight tmpImage.Height;
               
               
    // Se le dimensioni dell'immagine e del Thumbnail corrispondono non facciamo nulla.
               // quindi se l'immagine è quadrata...
               
               
    if (tmpImage.Width != tmpImage.Height)
                {
                 
    // Se l'immagine non è quadrata
                 // continuiamo a fare i nostri controlli per calcolarne le
                 // giuste dimensioni e quindi creare la nostra nuova immagine con
                 // l'aspectratio corretto.
                 // Se l'immagine è più larga che alta
                 
    if (tmpImage.Width tmpImage.Height)
                  {
                   
    // L > H => L = tL
                   // La larghezza del TN sarà quella da noi stabilita
                   // quindi dobbiamo solo assegnarla.
                   
    rThumbnailWidth ThumbnailWidth;
                   
    // L'altezza del TN invece dovrà essere ricalcolata
                   // in proporzione alla larghezza dell'immagine originale.
                   // L > H => tH = (H * tL)/ L
                   
    rThumbnailHeight = (double)((tmpImage.Height ThumbnailWidth) / tmpImage.Width);
                  } 
    // if (tmpImage.Width > tmpImage.Height)
                 
    else
                  {
                   
    // Altrimenti se l'immagine è più alta
                   
    if (tmpImage.Width tmpImage.Height)
                    {
                     
    // L < H => H = tH
                     // L'altezza del TN sarà quella da noi stabilita
                     // quindi dobbiamo solo assegnarla.
                     
    rThumbnailHeight ThumbnailHeight;
                     
    // La larghezza del TN invece dovrà essere ricalcolata
                     // in proporzione alla altezza dell'immagine originale.
                     // L < H => tL = (L * tH)/ H
                     
    rThumbnailWidth = (double)((tmpImage.Width ThumbnailHeight) / tmpImage.Height);
                    } 
    // if (tmpImage.Width < tmpImage.Height)
                  
    // else
                
    // if (tmpImage.Width != tmpImage.Height)
               
    using(Bitmap bitmap = new Bitmap(tmpImage, (int)(rThumbnailWidth), (int)(rThumbnailHeight)))
                {
                
    // Response.ContentType = tmpImage.RawFormat.ToString();
                 //Response.Clear();
                // Response.BufferOutput = true;
                 //Response.AddHeader("Content-Disposition", "filename=" + strFileName);
                
                 // In questo caso viene creata e salvata la Thumbnail dell'immagine in /thumbs/
                 
    if ((tmpImage.Width ThumbnailWidth) || (tmpImage.Height ThumbnailHeight))
                  {
                   
    //bitmap.Save(Response.OutputStream, tmpImage.RawFormat);
                   
    bitmap.Save((destinazione strFileName), tmpImage.RawFormat);
                  } 
    // if ((tmpImage.Width > ThumbnailWidth) || (tmpImage.Height > ThumbnailHeight))
                 
    else // L'immagine rientra già nella dimensione da noi decisa quindi non serve creargli il Thumbnail.
                  
    {
                   
    //bitmap.Save(Response.OutputStream, tmpImage.RawFormat);
    //               Se vuoi che l'immagine venga comunque salvata nella cartella dei Thumbnails leva "//" dalla riga sottostante.
                   
    bitmap.Save(destinazione strFileNametmpImage.RawFormat);
                  } 
    // else
                 //Response.Flush();
                
    // using(Bitmap bitmap = new Bitmap(orgImage, (int)(rThumbnailWidth), (int)(rThumbnailHeight)))
              
    // using(System.Drawing.Image tmpImage = System.Drawing.Image.FromFile(Server.MapPath(strFileName)))
            
    // try
           
    catch (Exception ex)
            {
             
    //Response.Write(ex.Message);
            
    // catch (Exception ex)
           
    finally
            {
             
    //Response.Write("\nCoded by R.B. Riddick");
            
    }
        

        }
    }
    </script> 
    Ciao!
    Richard B. Riddick : "Non avrete mica paura del buio?"

    Scusatemi ma sono mesi che non pago piu' la bolletta della luce....

  8. #8
    :master: ora va ...

    ma qual era il problema ? i tag <html> e il protected ?

    perché ?

    Ciao e grazie mille ...



    P.S. ti devo una birra
    _____________

    Bruce

    www.palestracft.it

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.