как проверить AjaxUploadFile хотя бы один файл выбран или нет - PullRequest
0 голосов
/ 19 мая 2019

У меня есть одна почтовая страница, которая принимает поля электронной почты вместе с загрузкой нескольких файлов.Теперь я просто работаю с элементом управления AjaxFileUpload и хотел знать, что по крайней мере один файл выбран для загрузки или нет, если нет, тогда передайте ложное значение сущностям linqtosql.и также хотел знать, без события OnUpload, я могу получить файлы из Request.Files.вот мой код:

bool FileAttached;
        if (upload_file.p) // want to know any file selected for upload or not
        {
            FileAttached = true;
        }
        else
        {
            FileAttached = false;
        }
        using (DataClassesDataContext db = new DataClassesDataContext())
        {
            string Email = db.FromUsers.Where(f => f.EmailAddress.Equals(txt_ComName2.Text.Trim()) && f.user_id.Equals(int.Parse(CommonLogic.GetSessionValue("user_id").ToString()))).Select(f => f.EmailAddress).FirstOrDefault();
            string Host = db.FromUsers.Where(f => f.EmailAddress.Equals(txt_ComName2.Text.Trim()) && f.user_id.Equals(int.Parse(CommonLogic.GetSessionValue("user_id").ToString()))).Select(f => f.Host).FirstOrDefault();
            string Port = db.FromUsers.Where(f => f.EmailAddress.Equals(txt_ComName2.Text.Trim()) && f.user_id.Equals(int.Parse(CommonLogic.GetSessionValue("user_id").ToString()))).Select(f => f.Port).FirstOrDefault().ToString();
            string Password = db.FromUsers.Where(f => f.EmailAddress.Equals(txt_ComName2.Text.Trim()) && f.user_id.Equals(int.Parse(CommonLogic.GetSessionValue("user_id").ToString()))).Select(f => f.Password).FirstOrDefault();
            bool EnableSSl = db.FromUsers.Where(f => f.EmailAddress.Equals(txt_ComName2.Text.Trim()) && f.user_id.Equals(int.Parse(CommonLogic.GetSessionValue("user_id").ToString()))).Select(f => f.EnableSSL).FirstOrDefault();
            if ((String)Session["new_flag"] == "True")
            {
                var searchfromuser = db.FromUsers.Where(f => f.EmailAddress.Equals(txt_ComName2.Text.Trim()) && f.user_id.Equals(int.Parse(CommonLogic.GetSessionValue("user_id").ToString()))).Select(f => f).FirstOrDefault();
                if (searchfromuser != null)
                {
                    int fromuserid = int.Parse(searchfromuser.Id.ToString());
                    Email myEmail = new Email();
                    myEmail.Title = txt_ComName1.Text.Trim();
                    myEmail.IsDraft = true;
                    myEmail.FromUser = fromuserid;
                    myEmail.ToUser = null;
                    if (!string.IsNullOrEmpty(Cc))
                    {
                        myEmail.Cc = (cc1 == ',') ? Cc.TrimEnd(',') : Cc;
                    }
                    if (!string.IsNullOrEmpty(Bcc))
                    {
                        myEmail.Bcc = (bcc1 == ',') ? Bcc.TrimEnd(',') : Bcc;
                    }
                    myEmail.Body = CKEditor1.Text.Trim();
                    myEmail.IsFileAttached = FileAttached;
                    myEmail.SentDateTime = null;
                    myEmail.user_id = int.Parse(CommonLogic.GetSessionValue("user_id").ToString());
                    db.Emails.InsertOnSubmit(myEmail);
                    db.SubmitChanges();
                    int newId = int.Parse(myEmail.Id.ToString());
                    HttpFileCollection fileCollection = Request.Files; /// here gets all files and upload to my application folder
                    double tot_file_size = 0;
                    for (int i = 0; i < fileCollection.Count; i++)
                    {
                        File myFile = new File();
                        HttpPostedFile uploadfile = fileCollection[i];
                        string fileTitle = Path.GetFileName(uploadfile.FileName);
                        string fileName = DateTime.Now.ToString("ddMMyyyy_HHmmss");
                        string fileType = System.IO.Path.GetExtension(fileTitle).ToString().ToLower();
                        myFile.Email_Id = newId;
                        myFile.File_Title = fileTitle;
                        myFile.File_name = fileName;
                        myFile.File_ext = fileType;
                        double file_size = int.Parse(uploadfile.ContentLength.ToString()) / 1024;
                        tot_file_size += file_size;
                        myFile.File_Size = file_size;
                        if (uploadfile.ContentLength > 0)
                        {
                            uploadfile.SaveAs(Server.MapPath("~/EmailFiles/") + fileName + fileType);
                            db.Files.InsertOnSubmit(myFile);
                            db.SubmitChanges();
                            file_names.Add(fileName + fileType);
                        }
                    }
                    db.UpdateEmailField(newId, "TotalFileSize", tot_file_size.ToString());
...