utilizzo il famoso codice usato da molti su questo forum...

che fa l'upload ed il resize automatico con salvataggio del file gia resizato...

come posso far si che il file salvato abbia il nome della session ("user") .jpg?

grazie infinite...di seguito il codice..

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"

void Page_Load(object senderSystem.EventArgs e

  
titletext2.Text titletext.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

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

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

   
string fileName Path.GetFileName(file.FileName); 
   
double orgImgWidth 0.0
   
double orgImgHeight 0.0
   
double rThumbnailWidth 0.0
   
double rThumbnailHeight 0.0

   
destPath Server.MapPath(destPath); 
    
   if ( (!
File.Exists(destPath fileName)) && (fileName.Length != 0) || (owr)) 
    { 
     if (!
IsImage(fileName)) 
      { 
       if (
fileName.Length != 0
         
Status.Text += "<span style=\"color:Red;\">File '" fileName "' Formato immagine non valido. Caricamento Annullato.</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 (
File.Exists(destPath fileName) && (owr)) message "OverWritted"

         
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(System.Drawing.Image image = System.Drawing.Image.FromFile(file)) 
    
// if ( (!File.Exists(destPath + fileName)) && (fileName != "") || (owr)) 
   
else 
    { 
     if (
File.Exists(destPath fileName) && (!owr)) 
        
Status.Text += "<span style=\"color:Red;\">Error : The file \"<u>[b][i]" fileName "[/i][/b]</u>\" already exist... Upload Aborted.</span>
"

    } 
  } 
//  void UploadImage(HttpPostedFile file) 


protected void SubmitButton_Click(Object senderEventArgs e

  
HttpFileCollection uploadedFiles Request.Files

  
Status.Text ""

  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 in se scrivo come qui sotto : 
    
UploadAndResizeAnImage(uploadedFiles[0], 350.0350.0"./public/"false);  

    
// significa che voglio che ogni immagine inviata (uploadedFiles[i]) 
    // venga ridimensionata a 640x480 (tenendo conto però delle proporzioni originali) 
    // nella cartella "./public/" (che dovrà avere i permessi di scrittura) 
    // e se il file esiste già non deve essere sovrascritto (overwrite = false). 
    // Chiaro? Più di così ;) 
   


  
// protected void SubmitButton_Click(Object sender, EventArgs e) 

</script> 

<!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:#ffffff; 
   } 
  a:link 
   { 
    color: Blue; 
    text-decoration: none; 
   } 
  a:active 
   { 
    color: Blue; 
    text-decoration: none; 
   } 
  a:visited 
   { 
    color: Blue; 
    text-decoration: none; 
   } 
  a:hover 
   { 
    color: Blue; 
    font-weight: bold; 
    text-decoration: none; 
   } 
  </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">
 
      
     <input id="File1" type="file" runat="Server"/>
 
 
 
     <div align="center"><input id="Submit1" type="submit" value="Invia Foto" runat="Server" onserverclick="SubmitButton_Click"/></div> 
     
 
     <asp:Label id="Status" runat="server"></asp:Label>        
    </form> 
   </div> 
</body> 
</html>