Pagina 1 di 7 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 61
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708

    Consiglio Upload + ridimensionamento immagine

    Ciao a tutti

    devo realizzare un upload con ridimensionamento immagine sia di "peso" che misure, di 2 o + immagini, per il mio sito in ASP ma visto che ho un server Win 2003 ho letto che potrei farlo in asp.net.

    Ho letto articoli in rete ma c'è ne sn molti e nn capisco quale è meglio utilizzare.
    Me ne consigliate uno?

    Grazie!

    Pier

  2. #2
    Bastava fare prima una ricerca nel forum
    Qui trovi qualcosa da cui partire...
    se hai difficoltà a modificare lo script fammi un fischio

    PS : ovviamente in questo post... di là è diventato troppo caotico.
    Richard B. Riddick : "Non avrete mica paura del buio?"

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

  3. #3

    resonup.aspx

    Anzi ti posto qui il codice che fa solo l'upload e ridimensiona al volo le immagini levando tutto
    il resto del codice che serviva per un'altro utente...
    Vediamo di modificarlo per il tuo scopo

    Codice PHP:

    <%@ Page Language="C#" LCID=1040 Debug="true" Trace="false" %>
    <%@ 
    Import Namespace="System" %>
    <%@ 
    Import Namespace="System.IO" %>
    <%@ 
    Import Namespace="System.Data" %>
    <%@ 
    Import Namespace="System.Drawing" %>
    <%@ 
    Import Namespace="System.Drawing.Imaging" %>
    <%@ 
    Import Namespace="System.Drawing.Drawing2D" %>
    <%@ 
    Import Namespace="System.Globalization" %>
    <%@ 
    Import Namespace="System.Web.UI.HtmlControls" %>

    <
    script Language="C#" runat="server" src="resonup.cs"/>

    <!
    DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
    <
    html>
    <
    head>
      <
    link rel="icon" href="favicon.ico" type="image/x-icon">
      <
    link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
      <
    title><asp:Literal id="titletext" runat="server"/></title>
      <
    style type="text/css">
      
    body
       
    {
         
    background:#2288DD;
       
    }
      
    a:link
       
    {
        
    colorBlue;
        
    text-decorationnone;
       }
      
    a:active
       
    {
        
    colorBlue;
        
    text-decorationnone;
       }
      
    a:visited
       
    {
        
    colorBlue;
        
    text-decorationnone;
       }
      
    a:hover
       
    {
        
    colorBlue;
        
    font-weightbold;
        
    text-decorationnone;
       }
    div#error
        
    {
         
    colorRed;
         
    font-weightbold;
         
    text-decorationunderline;
         
    white-spacenormal;
        }

      </
    style>
    </
    head>

    <
    body>

       <
    div align="center">
       <
    h2><asp:Literal id="titletext2" runat="server"/></h2>
        <
    form name="inviafile" id="inviafile" enctype="multipart/form-data" runat="server">

         
    Select File1:
         <
    input id="File1" type="file" runat="Server"/>

         
    Select File2:
         <
    input id="File2" type="file" runat="Server"/>

         
    Select File3:
         <
    input id="File3" type="file" runat="Server"/>

         
    Select File4:
         <
    input id="File4" type="file" runat="Server"/>

         
    Select File5:
         <
    input id="File5" type="file" runat="Server"/>

         
    Select File6:
         <
    input id="File6" type="file" runat="Server"/>

         
    Select File7:
         <
    input id="File7" type="file" runat="Server"/>

         
    Select File8:
         <
    input id="File8" type="file" runat="Server"/>

         
    Select File9:
         <
    input id="File9" type="file" runat="Server"/>

         
    Select File10:
         <
    input id="File10" type="file" runat="Server"/>


         <
    div align="center"><input id="Submit1" type="submit" value="Upload Files" runat="Server" onserverclick="SubmitButton_Click"/></div>
         

         <
    asp:Label id="Status" runat="server"></asp:Label>       
        </
    form>
       </
    div>
    </
    body>
    </
    html
    Richard B. Riddick : "Non avrete mica paura del buio?"

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

  4. #4

    resonup.cs

    Codice PHP:

     void Page_Load
    (object senderSystem.EventArgs e)
      {
       
    titletext2.Text titletext.Text "&quot;Upload & Resample On-Fly, delle immagini inviate, su di una cartella del Server&quot; [v.1.2.0]";
       
    Status.Text += "";
      } 
    // void Page_Load(object sender, System.EventArgs e)
      
      
     
    bool IsImage(string fileName)
     {
      
    string ext Path.GetExtension(fileName).ToLower();
      
    bool imageFlag false;

      if (
    ext != null)
       {
        switch (
    ext)
         {
          case 
    ".emf" // Enhanced Windows metafile image format
          
    case ".exif" // Exchangable Image Format
          
    case ".ico" // Windows icon image format (extension .ico)
          
    case ".wmf" // Windows metafile image format (extension .wmf)
          
    case ".png" // Specifies the W3C Portable Network Graphics image format (extension .png)
          
    case ".gif" // Graphics Interchange Format image format (extension .gif)
          
    case ".bmp" //Bitmap image format (extension .bmp)
          
    case ".tiff" // Tag Image File Format (extension .tif)
          
    case ".tif" // Tag Image File Format (extension .tif)
          
    case ".jpeg" // Joint Photographic Experts Group image format (extensions .jpg, .jpeg)
          
    case ".jpg" imageFlag true; break; // Joint Photographic Experts Group image format (extensions .jpg, .jpeg)

          
    default: imageFlag false; break;  // Not a supported file type.
         
    // switch (ext)
       
    // if (ext != null)
      
    else
       
    imageFlag false;

      return 
    imageFlag;
     } 
    // bool IsImage(string fileName)

    void UploadAndResizeAnImage(HttpPostedFile filedouble newWidthdouble newHeightstring virPathbool overwrite)
      {
       
    string destPath ".";
       
    double ThumbnailWidth 64.0;
       
    double ThumbnailHeight 64.0;
       
    bool owr false;
       
    bool exist false;

       if (
    virPath != ""destPath virPath;
       if (
    newWidth 0ThumbnailWidth newWidth;
       if (
    newHeight 0ThumbnailHeight newHeight;
       if (
    overwrite)
        
    owr true;
       else
        
    owr false;

       
    int pathCheck = (destPath.Substring(destPath.LastIndexOf('/') + 1)).Length;
       if (
    pathCheck 0destPath += "/";

       
    string fileName Path.GetFileName(file.FileName);
       
    string estensione Path.GetExtension(file.FileName).ToLower();
       
    double orgImgWidth 0.0;
       
    double orgImgHeight 0.0;
       
    double rThumbnailWidth 0.0;
       
    double rThumbnailHeight 0.0;
       
       
    ImageCodecInfo[] imgCodec ImageCodecInfo.GetImageEncoders();
       
    EncoderParameters encPars = new EncoderParameters(2);
       
    EncoderParameter encPar1 = new EncoderParameterSystem.Drawing.Imaging.Encoder.Quality100L );
       
    EncoderParameter encPar2 = new EncoderParameterSystem.Drawing.Imaging.Encoder.Compression100L );
       
       
    encPars.Param[0] = encPar1;
       
    encPars.Param[1] = encPar2;

       
    destPath Server.MapPath(destPath);
       
    exist File.Exists(destPath fileName);
       
       if (!
    exist && (fileName.Length != 0) || owr)
        {
         if (!
    IsImage(fileName))
          {
           if (
    fileName.Length != 0)
             
    Status.Text += "<span style=\"color:Red;\">File '" fileName "' is not a valid image format. Upload... Aborted.</span>
    "
    ;
           return;
          } 
    // if (!IsImage(fileName))

        
         
    using(System.Drawing.Image image System.Drawing.Image.FromStream(file.InputStream))
          {
           
    rThumbnailWidth ThumbnailWidth;
           
    rThumbnailHeight ThumbnailHeight;
           
    orgImgWidth image.Width;
           
    orgImgHeight image.Height;
           
           
    // Se l'immagine è più piccola del Thumbnail forziamo le dimensioni di
           // quest'ultimo alle dimensioni dell'immagine.
           
    if (orgImgWidth rThumbnailWidthrThumbnailWidth image.Width;
           if (
    orgImgHeight rThumbnailHeightrThumbnailHeight image.Height;
           
           
    // Se le dimensioni dell'immagine e del Thumbnail corrispondono non facciamo nulla.
           // quindi se l'immagine è quadrata...
           
    if (image.Width != image.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 (image.Width image.Height)
              {
               
    // L > H => L = tL
               // La larghezza del TN sarà quella da noi stabilita
               // quindi dobbiamo solo assegnarla.
               
    rThumbnailWidth rThumbnailWidth;
               
    // L'altezza del TN invece dovrà essere ricalcolata
               // in proporzione alla larghezza dell'immagine originale.
               // L > H => tH = (H * tL)/ L
               
    rThumbnailHeight = (double)((image.Height rThumbnailWidth) / image.Width);
              } 
    // if (tmpImage.Width > tmpImage.Height)
             
    else
              {
               
    // Altrimenti se l'immagine è più alta
               
    if (image.Width image.Height)
                {
                 
    // L < H => H = tH
                 // L'altezza del TN sarà quella da noi stabilita
                 // quindi dobbiamo solo assegnarla.
                 
    rThumbnailHeight rThumbnailHeight;
                 
    // La larghezza del TN invece dovrà essere ricalcolata
                 // in proporzione alla altezza dell'immagine originale.
                 // L < H => tL = (L * tH)/ H
                 
    rThumbnailWidth = (double)((image.Width rThumbnailHeight) / image.Height);
                } 
    // if (image.Width < image.Height)
              
    // else
            
    // if (image.Width != image.Height)

           
    using(Bitmap bitmap = new Bitmap(image, (int)(rThumbnailWidth), (int)(rThumbnailHeight)))
            {
             
    string message "Uploaded";
             if (
    exist && owr)
               {
               
    message "OverWritted";
               try
                {
                 
    File.Delete(destPath fileName);    
                }
               catch(
    IOException ioe)
                {
                   
    message "<div id=\"error\">Error: " ioe.GetType().Name ": The write operation could not  be performed because the specified part of the file is locked. Not OverWritted</div>";
                }
              } 
    // if (exist && owr)

             
    if ((estensione == ".jpg") || (estensione == ".jpeg"))
              
    bitmap.Save(destPath fileNameimgCodec[1], encPars);
             else
              
    bitmap.Save(destPath fileNameimage.RawFormat);

             
    Status.Text += "<span style=\"color:Green;\">File '" fileName " @ [" + (int)(orgImgWidth) + "px X " + (int)(orgImgHeight) + "px]' " message " with this new size [" + (int)(rThumbnailWidth) + "px X " + (int)(rThumbnailHeight) + "px]</span>
    "
    ;
            } 
    // using(Bitmap bitmap = new Bitmap(image, (int)(rThumbnailWidth), (int)(rThumbnailHeight)))
          
    // using(Image image = Image.FromFile(file))
        
    // if (!exist && (fileName.Length != 0) || owr)
       
    else
        {
         if (
    exist && (!owr))
            
    Status.Text += "<span style=\"color:Red;\">Error : The file \"<u>[b][i]" fileName "[/i][/b]</u>\" already exist... Upload Aborted.</span>
    "
    ;
        }
      } 
    //  void UploadAndResizeAnImage(HttpPostedFile file, double newWidth, double newHeight, string virPath, bool overwrite)
      
    protected void SubmitButton_Click(Object senderEventArgs e)
    {
      
    HttpFileCollection uploadedFiles Request.Files;

      for (
    int i 0uploadedFiles.Count++)  
       {
        
    // Qui sotto definisci le dimensioni che vuoi, la cartella di destinazione
        // e se l'applicazione deve sovrascrivere o no i files preesistenti.
        //
        // UploadAndResizeAnImage(HttpPostedFile file, double newWidth, double newHeight, string virPath, bool overwrite)
        //
        // Quindi  se scrivo come qui sotto :

        
    UploadAndResizeAnImage(uploadedFiles[i], 1024.0768.0"./foto/"true);
        
    // significa che voglio che ogni immagine inviata (uploadedFiles[i])
        // venga ridimensionata a 1024x768 (tenendo conto però delle proporzioni originali)
        // e che se il file esiste non deve essere sovrascritto (overwrite = false).
        // Chiaro? Più di così ;)

        // Vogliamo pure i Thumbnails??? allora aggiungiamo, sempre in questo ciclo for :
        
    UploadAndResizeAnImage(uploadedFiles[i], 150.0150.0"./miniature/"true);
        
    // significa che voglio che ogni immagine inviata (uploadedFiles[i])
        // venga ridimensionata a 150x150 (tenendo conto però delle proporzioni originali)
        // e che se il file esiste non deve essere sovrascritto (overwrite = false).
        
       
    }
       
      
    Status.Text += "
    <center><pre>Coded by <a href=\"http://forum.html.it/forum/member.php?s=&action=getinfo&userid=83362\" title=\"R.B.Riddick\" target=\"blank\">R.B.Riddick &copy;</a>
     on 
    <a href=\"http://www.html.it\" target=\"_blank\">html.it</a></pre></center>"
    ;
      
    Status.Text += "

    <a href=\"http://validator.w3.org/check?uri=referer\" target=\"blank\"><img src=\"http://www.w3.org/Icons/valid-html401\" alt=\"Valid HTML 4.01 Transitional\" height=\"31\" width=\"88\" border=\"0\"></a></p>"
    ;
    // protected void SubmitButton_Click(Object sender, EventArgs e) 
    Richard B. Riddick : "Non avrete mica paura del buio?"

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

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Ciao R.B. Riddick

    grazie x l'aiuto!

    ...scusa mi sono dimenticato di scrivere sul post che l'upload deve scrivere il percorso delle immagini sul db. E' possbile modificarlo in tal senso?

    Pier

  6. #6
    Certamente!
    Però :

    1) che DB?? MySql o Access???
    2) che dati deve inserire nel DB?

    Aspetto tua risposta... visto che dallo script o tolto
    proprio quelle parti
    Comunque se consulti l'altro post trovi tutto ciò che
    ho rimosso da qui.

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

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

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Access ...spero che non sia un problema!

  8. #8
    beh... per me è 'na rottura .... comunque....
    dimmi cosa devi inserire nel DB e si può vedere come fare
    Richard B. Riddick : "Non avrete mica paura del buio?"

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

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    vorrei salvare il percorso delle immagini su db e le immagini salvarle in una cartella ad es. la cartella upload.

  10. #10
    Originariamente inviato da Pierhagi
    vorrei salvare il percorso delle immagini su db e le immagini salvarle in una cartella ad es. la cartella upload.
    Fai esempio di percorso e casomai elenca i campi del DB e il loro tipo.
    Poi vedrò come posso aiutarti....

    A proposito che dimensione devono avere max le immagini????
    (1024x768, 800x600,etc...) non in kb... per quello urge modifica
    dello script stesso e non so se con il poco tempo che ho riesco a
    fartelo.

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

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

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.