У меня есть одна почтовая страница, которая принимает поля электронной почты вместе с загрузкой нескольких файлов.Теперь я просто работаю с элементом управления 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());