codice:
using(System.Drawing.Image image = System.Drawing.Image.FromStream(file.InputStream))
{
CalcolaAspectRatio_Biggest(image.Width, image.Height, ref resWidth, ref resHeight);
using(Bitmap bitmap = new Bitmap((int)(resWidth), (int)(resHeight)))
{
string message = "Uploaded";
bitmap.SetResolution(image.HorizontalResolution, image.VerticalResolution);
Graphics g = Graphics.FromImage(bitmap);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.SmoothingMode = SmoothingMode.HighQuality;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
g.DrawImage(image, new Rectangle(0, 0, (int)(resWidth), (int)(resHeight)));
g.Dispose();
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 + fileName, imgCodec[1], encPars);
else
bitmap.Save(destPath + fileName, image.RawFormat);
if (fileName == file.FileName)
Status.Text += "<span style=\"color:Green;\">File '" + fileName + " @ [" + (int)(image.Width) + "px X " + (int)(image.Height) + "px]' " + message + " with this new size [" + (int)(resWidth) + "px X " + (int)(resHeight) + "px]</span>
";
else
Status.Text += "<span style=\"color:Green;\">File \"<u>" + file.FileName + "</u>\" saved &renamed in \"" + fileName + "\".</span>
";
} // using(Bitmap bitmap = new Bitmap( (int)(resWidth), (int)(resHeight)))
} // using(Image image = Image.FromFile(file))
} // if (!exist && (fileName.Length != 0) || owr)
return (fileName);
} // void UploadAndResizeAnImage(HttpPostedFile file, double newWidth, double newHeight, string virPath, bool overwrite)
string imgDestFolder()
{
// Qui si definisce la cartella di destinazione sul server delle immagini .
return ("/public/image/foto/");
}
string tbnDestFolder()
{
// Qui si definisce la cartella di destinazione sul server delle miniature.
return ("/public/image/miniature/");
}
void InserisciNomiDeiFilesNelDB_Access(string fileList, char token, string nome, string nome_gruppo, string codice_categoria, string id_categoria, string codice_lingua, string on_line)
{
// Estraggo dalla lista concatenata i nomi dei file e ne creo un array di stringhe.
string [] fileListSplitted = fileList.Split(new Char [] {token});
// Conto quante stringhe ne sono uscite
int fLS = fileListSplitted.Length;
string fileName = "";
Status.Text += "
<hr>Inserimento dei dati nel DataBase :
";
foreach (string s in fileListSplitted)
{
if (s != "")
{
fileName = s;
/* SE UTILIZZIAMO LA CONNESSIONE CON WEB.CONFIG COMMENTARE LA RIGA SOTTO*/
//string connString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("/db_portale/db_scf.mdb") + ";";
//string connString = Configuration.AppSettings("dbConnString");
/* LA STRINGA SOTTO VA MODIFICATA X IL WEB.CONFIG*/
string connString = ConfigurationSettings.AppSettings["dbConnString"];
string sqlString = "INSERT INTO [TabAnagraficaGallery] (IMG_1, IMG_TBN_1, NOME, NOME_GRUPPO, CODICE_CATEGORIA, ID_CATEGORIA, CODICE_LINGUA, ON_LINE) VALUES ('" + (imgDestFolder() + fileName) + "', '" + (tbnDestFolder() + fileName) + "', '" + nome + "', '" + nome_gruppo + "', '" + codice_categoria + "', " + id_categoria + ", '" + codice_lingua + "', " + on_line + ");";
using (System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(connString))
{
conn.Open();
System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(sqlString, conn);
try
{
cmd.ExecuteNonQuery();
Status.Text += "<span style=\"color:Green;\">File '" + fileName + "' Inserito correttamente. Ok!
</span>";
}
catch (Exception ex)
{
// Response.Write("
Si è verificato un errore durante l'esecuzione dello script SQL corrente.
");
Status.Text += "<span style=\"color:Red;\">Errore : " + ex.Message + "</span>
";
}
finally
{
conn.Close();
}
} // using (OleDbConnection conn = new OleDbConnection(connString))
// Fine codice per inserimento nel DataBase
}
} // foreach (string s in fileListSplitted)
}
void SubmitFiles(Object sender, EventArgs e)
{
HttpFileCollection uploadedFiles = Request.Files;
Status.Text = "";
string ListaNomi = "";
string tmbFolder = tbnDestFolder();
string imgFolder = imgDestFolder();
string newFileName = "";
string fileName = "";
string NOME = "";
if ( (nome.Text != "") && ((nome.Text.ToString()).Length > 0) ) NOME = nome.Text;
NOME = NOME.Replace("'","''");
string NOME_GRUPPO = "";
/***PIER* IN CASO DI MANCATO INSERIMENTO NEL CAMPO NOME_GRUPPO VERRA' FATTO VISUALIZZARE IL TESTO CHE AVREMO SCRITTO TRA VIRGOLETTE ***/
if ( (nome_gruppo.Text != "") && ((nome_gruppo.Text.ToString()).Length > 0) ) NOME_GRUPPO = nome_gruppo.Text;
NOME_GRUPPO = NOME_GRUPPO.Replace("'","''");
string CODICE_CATEGORIA = "Default";
if ( (codice_categoria.SelectedItem.Text != "") && ((codice_categoria.SelectedItem.Text.ToString()).Length > 0) ) CODICE_CATEGORIA = codice_categoria.SelectedItem.Text;
CODICE_CATEGORIA = CODICE_CATEGORIA.Replace("'","''");
string ID_CATEGORIA = ""; //Tipo Numerio Intero
if ( (id_categoria.SelectedItem.Text != "") && ((id_categoria.SelectedItem.Text.ToString()).Length > 0) ) ID_CATEGORIA = id_categoria.SelectedItem.Text;
string CODICE_LINGUA = "IT";
if ( (codice_lingua.SelectedItem.Text != "") && ((codice_lingua.SelectedItem.Text.ToString()).Length > 0) ) CODICE_LINGUA = codice_lingua.SelectedItem.Text;
CODICE_LINGUA = CODICE_LINGUA.Replace("'","''");
//CheckBox1.Checked = (campoDb=="SI"?true:false);
/*
on_line.Checked = (ON_LINE=="SI"?true:false);
if ((ON_LINE) = ("SI")) Then
on_line.Checked = "True";
else
on_line.Checked = "False";
end if
*/
string ON_LINE = "";
//if ( (on_line.Checked.Text != "") && ((on_line.Checked.Text.ToString()).Length > 0) ) ON_LINE = on_line.Checked.Text;
//if ("Check", on_line.Checked);
if (on_line.Checked) {ON_LINE = "True";} else {ON_LINE = "False";}
for (int i = 0; i < uploadedFiles.Count; i ++)
{
newFileName = "";
fileName = uploadedFiles[i].FileName;
// 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 :
newFileName = ResizeAnUploadedImage(uploadedFiles[i], 800.0, 600.0, imgFolder, false);
// 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 :
newFileName = ResizeAnUploadedImage(uploadedFiles[i], 140.0, 140.0, tmbFolder, false);
// 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).
// Creiamo una lista concatenata dei file processati
if (fileName != "")
{
// Se serve recuperare il nome del file per inserirlo in un DB lo potete recuperare qui.
// Consiglio di creare una lista concatenata di stringhe separate da un carattere
//( nel nostro caso è bene usare un carattere che non è possibile usare nel nome del file cioè "|" )
if ((newFileName != "") && (newFileName != fileName))
ListaNomi += newFileName + "|";
else
ListaNomi += fileName + "|";
}
}
InserisciNomiDeiFilesNelDB_Access(ListaNomi, '|', NOME, NOME_GRUPPO, CODICE_CATEGORIA, ID_CATEGORIA, CODICE_LINGUA, ON_LINE);
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 ©</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>";
//Response.Write (ON_LINE);
//Response.Flush();
Response.Redirect("inserisci_anag_gallery.aspx");
} // protected void SubmitFiles(Object sender, EventArgs e)
bool ResizeAnImageFile(string fileSource, string destFolder, double nwWidth, double nwHeight, bool owr)
{
string fileName = Path.GetFileName(fileSource);
string estensione = Path.GetExtension(fileName).ToLower();
string destPath = destFolder + "/";
double resWidth = nwWidth;
double resHeight = nwHeight;
bool stato = false;
bool exist = false;
if (nwWidth == 0) return false;
if (nwHeight == 0) return false;
ImageCodecInfo[] imgCodec = ImageCodecInfo.GetImageEncoders();
EncoderParameters encPars = new EncoderParameters(2);
EncoderParameter encPar1 = new EncoderParameter( System.Drawing.Imaging.Encoder.Quality, 100L );
EncoderParameter encPar2 = new EncoderParameter( System.Drawing.Imaging.Encoder.Compression, 100L );
encPars.Param[0] = encPar1;
encPars.Param[1] = encPar2;
exist = File.Exists(destPath + fileName);
if ( ((!File.Exists(destPath + fileName)) && (fileName != "")) || owr)
{
using(System.Drawing.Image image = System.Drawing.Image.FromFile(fileSource))
{
CalcolaAspectRatio_Biggest(image.Width, image.Height, ref resWidth, ref resHeight);
using(Bitmap bitmap = new Bitmap((int)(resWidth), (int)(resHeight)))
{
bitmap.SetResolution(image.HorizontalResolution, image.VerticalResolution);
Graphics g = Graphics.FromImage(bitmap);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.SmoothingMode = SmoothingMode.HighQuality;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
g.DrawImage(image, new Rectangle(0, 0, (int)(resWidth), (int)(resHeight)));
g.Dispose();
if (exist && owr)
{
try
{
File.Delete(destPath + fileName);
}
catch(IOException ioe)
{
stato = false;
}
} // if (exist && owr)
if ((estensione == ".jpg") || (estensione == ".jpeg"))
bitmap.Save(destPath + fileName, imgCodec[1], encPars);
else
bitmap.Save(destPath + fileName, image.RawFormat);
stato = true;
} // using(Bitmap bitmap = new Bitmap( (int)(rThumbnailWidth), (int)(rThumbnailHeight)))
}// using(System.Drawing.Image image = System.Drawing.Image.FromFile(fileSource))
} // if (!File.Exists(filepath))...
else
if (File.Exists(destPath + fileName) && (!owr)) stato = false;
return stato;
} // bool ResizeAnImageFile(string fileSource, string destFolder, double nwWidth, double nwHeight, bool owr)
void SubmitFolder(Object sender, EventArgs e)
{
string ListaNomi = "";
//string Categoria = "Default";
string srcFolder = "./";
string tmbFolder = tbnDestFolder();
string imgFolder = imgDestFolder();
double tWidth = 120.0;
double tHeight = 100.0;
double imgWidth = 800.0;
double imgHeight = 600.0;