using SteamWare; using System; using System.IO; namespace NKC_WF.WebUserContols { public partial class cmp_fileUpload : BaseUserControl { /// /// Folder di upload temporaneo files /// protected string _tempUploadDir = memLayer.ML.CRS("_tempUploadDir"); /// /// permesso scrittura SE E' abilitato a aprtire dalla tab diritti... /// public bool userIsAuth { get { return true; //return (idxAmm + idxFornitore > 0); } } public bool isWriteEnabled { get { bool answ = false; bool.TryParse(hfWriteEnabled.Value, out answ); return answ; } set { hfWriteEnabled.Value = value.ToString(); } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { fisVisFU(false); deleteOldFiles(); } divNewEdit.Visible = userIsAuth && isWriteEnabled; } /// /// Procedee a bonificare la cartella di upload dei files + vecchi di 3 mesi /// private void deleteOldFiles() { string dirPath = Server.MapPath(_tempUploadDir); // elenco files nella directory string[] files = Directory.GetFiles(dirPath); // li guardo tutti e se vecchi li elimino... foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.LastAccessTime < DateTime.Now.AddMonths(-3)) fi.Delete(); } } protected void Upload(object sender, EventArgs e) { // se c'è un file if (FileUpload1.PostedFile != null) { string uploadedFilename = Path.GetFileName(FileUpload1.PostedFile.FileName); string savedFilename = Server.MapPath($"{_tempUploadDir}{DateTime.Now.ToString("yyyy-MM-dd")}_{uploadedFilename}"); string contentType = FileUpload1.PostedFile.ContentType; // accedo allo stream del file allegato using (Stream fs = FileUpload1.PostedFile.InputStream) { // scrivo su file FileStream file = new FileStream(savedFilename, FileMode.Create, FileAccess.Write); fs.CopyTo(file); file.Close(); // chiamo procedura SQL x import... !!!FIXME!!! // !!!HARD CODED!!! int batchID = 2; // alla fine ottengo da SQL un BatchID univoco... salvo in SESSIONE!!! memLayer.ML.setSessionVal("batchID", batchID); raiseEvent(); } } Response.Redirect(Request.RawUrl); } protected void btnAdd_Click(object sender, EventArgs e) { fisVisFU(true); btnUpload.Text = "Carica Nuovo"; } /// /// fix visibilità controllo file upload /// /// mostra controlli add=true oppure nasconde = false private void fisVisFU(bool showAdd) { divFileUpl.Visible = showAdd; btnAdd.Visible = !showAdd; btnCancel.Visible = showAdd; } protected void btnCancel_Click(object sender, EventArgs e) { fisVisFU(false); } } }