allora,

questo è quello che uso io. Io avevo leggermente modificato la webresize v.021, ora ho visto che ne sono uscite altre versioni, quindi indubbiamente ti faccio vedere uno script vecchio (anche se efficace). Però è un passo avanti

allora, tu devi fare la seguente cosa:

- fai l'upload della tua immagine con il tuo script
- una volta che hai fatto l'upload, ti prendi il nome dell'immagine, e usi la funzione:

codice:
'************ gestione delle immagini


function ImgResize(nomeImg,nNome,bw,bh, fromPath, destPath)

dim objHTTP,url,statusCode

set objHTTP=server.CreateObject("MSXML2.ServerXMLHTTP")

dim targetFrom,targetTo

targetFrom=server.URLEncode(fromPath & "/" & nomeImg)
targetTo=server.URLEncode(destPath)
nNome=server.URLEncode(nNome)

url="http://www.tuosito.ext/percorso/wbresize.aspx?img=" & targetFrom & "&nn=" & nNome & "&bw=" & bw & "&bh=" & bh & "&fp=" & targetTo

objHTTP.open "GET",url,false
objHTTP.send("")

statusCode=cint(objHTTP.responseXml.getElementsByTagName("stato/codice")(0).text)

set objHTTP=nothing

ImgResize=statusCode
end function
dove:

nomeImg è il nome dell'immagine che hai caricato sul server
fromPath è il percorso dove si trova ora l'immagine (es server.mapPath("/public") )
bw e bh sono la larghezza e l'altezza dell'immagine da ridimensionare
nNome è il nome che vuoi dare alla immagine ridimensionata (se lo passi uguale a nomeImg, dovrebbe sovrascrivertela, non ricordo)
destPath è la cartella dove vuoi salvare l'immagine ridimensionata

la wbresize.aspx è la seguente:

codice:
<%@ Page Language="C#" AutoEventWireup="true" Debug="true" ContentType="text/xml" %>
<%@ import Namespace="System.IO" %>
<%@ import Namespace="System.Drawing" %>
<%@ import Namespace="System.Drawing.Imaging" %>
<script runat="server">

/*  WBRESIZE 0.21
	developer by imente 16/10/2006
    modified by santino83 7/02/2007

parametri (da querystring):
	img = nome del file originale
	s = percentuale di ridimensionamento (es: 20)
	bw = larghezza fissata (la altezza viene calcolata di conseguenza per mantenere le dimensioni)
	bh = altezza fissata (la larghezza viene calcolata di conseguenza per mantenere le dimensioni)
	*** si può indicare S oppure W oppure H. se si indica S, W e H vengono ignorati.
	*** se si indica sia W che H viene forzato il ridimensionamento e non verranno rispettate le proporzioni
	
	c = compressione jpeg (valori da 1 a 100)
	*** se non impostata la compressione viene impostata a 100
	
	fp = cartella dove salvare la thumb
	nn = nome della thumb (se non indicato genera thumb.jpg)

*/



void Page_Load(Object sender, EventArgs e) {
	
	// parametri
	string fileName = (Request.QueryString["img"]==null)?"":Request.QueryString["img"]; // nome del file originale
	string folder = (Request.QueryString["fp"]==null)?"":Request.QueryString["fp"]; // cartella dove salvare la thumb
	string newName = (Request.QueryString["nn"]==null)?"thumb.jpg":Request.QueryString["nn"]; // nuovo nome del file
	double requestedWidth = (Request.QueryString["bw"]==null)?0:Convert.ToDouble(Request.QueryString["bw"]); // larghezza impostata
	double requestedHeight = (Request.QueryString["bh"]==null)?0:Convert.ToDouble(Request.QueryString["bh"]); // altezza impostata
	int scaleFactor = (Request.QueryString["s"]==null)?0:Convert.ToInt32(Request.QueryString["s"]); // fattore di scalo per la miniatura
	int compression = (Request.QueryString["c"]==null)?100:Convert.ToInt32(Request.QueryString["c"]); // compressione (0-100)
	
	// variabili di servizio
	int originalWidth = 0;
	int originalHeight = 0;
	int thumbWidth = 0;
	int thumbHeight = 0;
	
	if ( fileName.Trim().Length>0 ) {
		try {
		
			//carica l'immagine e ne recupera le dimensioni
			System.Drawing.Image image;
			image = System.Drawing.Image.FromFile( Server.MapPath(fileName) );
			originalWidth = image.Width;
			originalHeight = image.Height;
			image.Dispose();
			image = null;
			
			//se una dimensione è più grande dell'immagine e l'altra no, 
			//la diminuisce fino a renderla pari all'immagine
			if ( originalWidth > requestedWidth && originalHeight < requestedHeight ) requestedHeight = originalHeight; 
			if ( originalWidth < requestedWidth && originalHeight > requestedHeight ) requestedWidth = originalWidth;   
			
			if ( originalWidth >= requestedWidth && originalHeight >= requestedHeight && scaleFactor >= 0 && scaleFactor < 100 ) {
				//l'immagine è da ridimensionare: calcola le dimensioni della miniatura
				if ( scaleFactor == 0) {
					if ( requestedWidth == 0 && requestedHeight != 0) {
						// forzata requestedHeight
						thumbWidth = Convert.ToInt32(Math.Ceiling(requestedHeight*originalWidth/originalHeight));
						thumbHeight = Convert.ToInt32(requestedHeight);
					} else if (requestedHeight == 0 && requestedWidth != 0) {
						// forzata requestedWidth
						thumbWidth = Convert.ToInt32(requestedWidth);
						thumbHeight = Convert.ToInt32(Math.Ceiling(requestedWidth*originalHeight/originalWidth));
					} else if (requestedHeight != 0 && requestedWidth != 0) {
						// forzata sia requestedWidth che requestedHeight
						thumbWidth = Convert.ToInt32(requestedWidth);
						thumbHeight = Convert.ToInt32(requestedHeight);
					} else {
						// ERR: nessun parametro impostato
						error("Nessun parametro impostato");
						return;
					}
				} else {
					// scalata: percentuale delle dimensioni
					thumbWidth = (originalWidth*scaleFactor/100);
					thumbHeight = (originalHeight*scaleFactor/100);
				}
			} else {
				// sovradimensionamento (si impostano le nuove dimensioni a 0 per evitare il ridimensionamento)
				thumbWidth = 0;
				thumbHeight = 0;
			}
			
			// esegue le operazioni di output
			if ( folder != "" ) {
				// output su file
				Resize(fileName,thumbWidth,thumbHeight,folder+"\\"+newName,compression);

                finish();
                
			} else {
				
                //Errore nessun folder di destinazione indicato
                error("Nessun folder di destinazione indicato");
			}
			
		} catch (System.IO.FileNotFoundException ex) {
			// ERR: immagine inesistente
			error("Immagine inesistente");
			return;
		} catch (Exception ex) {
			error(ex.Message);
		}
	} else {
		// ERR: nessuna immagine indicata
		error("Nessuna immagine indicata");
		return;
	}
}

private void error(String error) {
	// errore
    print(100, error);
}

    private void finish()
    {
        print(200, "Immagine controllata correttamente");
    }
    
    private void print(int status, String msg)
    {
        String printed;

        printed = @"<?xml version=""1.0"" encoding=""iso-8859-1""?>";
        printed += @"<risposta><stato><codice>" + status + @"</codice><desc>" + msg + @"</desc></stato>";
        printed += @"</risposta>";

        Response.Write(printed);
    }

private void Resize(string FileName, int requestedWidth, int requestedHeight, string NewFileName, int compression) {

	FileStream file=new FileStream(Server.MapPath(FileName),FileMode.Open);
	string NewFile = Server.MapPath(NewFileName);

	//creo il bitmap dallo stream
	System.Drawing.Image bmpStream=System.Drawing.Image.FromStream(file);
	
	//creo un nuovo bitmap
	Bitmap image;
	
	//controllo valori in entrata
	if (compression <= 0) compression = 100;
	
	//se indicato lo ridimensiono
	if (requestedWidth == 0 || requestedHeight == 0) image=new Bitmap(bmpStream);
	else image=new Bitmap(bmpStream,new Size(requestedWidth,requestedHeight));
	
	ImageCodecInfo jpegCodecInfo;
	jpegCodecInfo = GetEncoderInfo("image/jpeg");
	
	System.Drawing.Imaging.Encoder encoder;
	EncoderParameter encoderParameter;
	EncoderParameters encoderParameters;
	encoder = System.Drawing.Imaging.Encoder.Quality;
	encoderParameters = new EncoderParameters(1);
	encoderParameter = new EncoderParameter(encoder, compression);
	encoderParameters.Param[0] = encoderParameter;
	

		// output su file
		image.Save(NewFile, jpegCodecInfo, encoderParameters);
	
	
	encoderParameters = null;
	encoderParameter = null;
	encoder = null;
	jpegCodecInfo = null;
	
	image.Dispose();
	image = null;
	
	file.Close();
	file = null;

}

private ImageCodecInfo GetEncoderInfo(string mimeType) {
   ImageCodecInfo[] encoders = ImageCodecInfo.GetImageEncoders();
   for (int j = 0; j< encoders.Length; j++) {
      if (encoders[j].MimeType == mimeType) {
           return encoders[j];
	  }
   }
   return null;
}
</script>
se vuoi modificarti la funzione che la richiama, magari perchè ti serve un diverso comportamento, puoi modificarla tranquillamente leggendo anche in wbresize.aspx, all'inizio tra i commenti, come si usano i parametri che accetta la pagina.