// <summary> /// Seta os dados já existentes /// </summary> /// <param name="files"></param> public void CarregaFiles(UploadFileS files) { List <string> names = files.ConvertAll(x => x.name).ToList(); List <int> keys = files.ConvertAll(x => x.key).ToList(); ArrayOfFiles = ConvertToJSArray(JsonConvert.SerializeObject(ToJsonFile(names, keys))); Files = files; ((System.Web.UI.WebControls.HiddenField) this.FindControl(this.ClientID + "_hdnFiles")).Value = ArrayOfFiles; carregaLinksDownload(); }
/// <summary> /// Método que retorna os arquivos upados /// </summary> /// <returns></returns> public void SetUploadedFiles() { var hiddenFileKey = Page.Request.Form.AllKeys.FirstOrDefault(p => p.Contains(this.ClientID + "_hdnFiles")); var filesName = JsonConvert.DeserializeObject <List <JsonFileAux> >(Page.Request.Form[hiddenFileKey]); Files.RemoveAll(p => !filesName.Any(x => x.name == p.name.ReplaceSpecialCaracterFromFileName())); var errorStatusKey = Page.Request.Form.AllKeys.FirstOrDefault(p => p.Contains(this.ClientID + "_errorStatus")); var isError = Convert.ToBoolean(Page.Request.Form[errorStatusKey]); if (isError) { return; } var addedfiles = new UploadFileS(); for (int i = 0; i < Page.Request.Files.Count; i++) { if (Page.Request.Files.GetKey(i) == this.ClientID.Replace("_", "$")) { HttpPostedFile file = Page.Request.Files[i]; String[] filename = file.FileName.Split(new char[] { '\\' }); //Verifica o arquivo adicionado if (filesName != null && Files.Any(x => x.name.Equals(filename[filename.Length - 1]))) { continue; } byte[] bytes = new byte[file.ContentLength]; file.InputStream.Read(bytes, 0, file.ContentLength); addedfiles.Add(new UploadFile { name = filename[filename.Length - 1], type = file.ContentType, size = file.ContentLength, dados = bytes }); } } Files.AddRange(addedfiles); CarregaFiles(Files); }
/// <summary> /// Método que retorna os arquivos upados /// </summary> /// <returns></returns> public UploadFileS GetFiles() { var hdnFiles = (System.Web.UI.WebControls.HiddenField) this.FindControl(this.ClientID + "_hdnFiles"); var filesName = JsonConvert.DeserializeObject <List <JsonFileAux> >(hdnFiles.Value); var returnfiles = new UploadFileS(); foreach (var file in Files) { if (!filesName.Any(x => x.name.Equals(file.name.ReplaceSpecialCaracterFromFileName()))) { continue; } returnfiles.Add(file); } return(returnfiles); }