Отправка файла с использованием электронной почты
Выбор файла на стороне клиента
Просмотр HTML-страницы в IE
Создание HTML-файла в среде MS Studio.NET
HTML-файл
Описание переменных public class WebForm4 : System.Web.UI.Page { HttpPostedFile file; FileStream fin; String str,s; Byte[] bytes =new Byte[500]; int i; …
Передача файла Для передачи файла со стороны клиента используем объект Request, а именно его свойство: Files-свойство содержит коллекцию файлов, переданных пользователем на сервер. Свойство имеет смысл обрабатывать только в том случае, если указан MIME-тип multipart/form-data.
Передача файла private void Page_Load(object sender, System.EventArgs e) { this.Response.Write(this.Request.Params["File1"]); foreach(string f in Request.Files.AllKeys) { try { file = Request.Files[f]; } catch(Exception ex) { this.Response.Write(" NO "); }
Сохранение файла на сервере try { file.SaveAs("\\\\adm-119-1\\internet\\test.txt"); this.Response.Write(" Файл с именем "+file.FileName.ToString()+"успешно передан на сервер"); } catch(Exception ex) { this.Response.Write(" NO COPY "+file.FileName.ToString()+ex.Message); }
Открытие файла try { fin= new FileStream("\\\\adm \\internet\\test.txt",FileMode.Open); this.Response.Write(" Файл открыт"); } catch(Exception ex) { this.Response.Write(ex.Message+" Невозможно открыть файл"); }
Чтение файла по строкам StreamReader fstr_in=new StreamReader(fin); while ((s=fstr_in.ReadLine())!=null) { str=str+s; } this.Response.Write("прочитано="+str); this.Session["str"]=str; fstr_in.Close(); fin.Close();
Чтение файла по байтам do { try { i=fin.ReadByte(); } catch(Exception ex) { Console.WriteLine(ex.Message); }
Чтение файла по байтам if (i!=-1) { Console.Write((char)i); } } while(i!=-1); fin.Close();
Создание почтового соединения Весьма часто разработчику Web-приложений приходится использовать в своих проектах функцию автоматической отправки электронной почты. Чаще всего электронные письма, которые создаются и отправляются автоматически, без участия администраторов, содержат какие-либо уведомления. Так или иначе, практически ни один из серьезных проектов не обходится без использования электронной почты, и, следовательно, необходимо рассмотреть механизм ее использования в работе Web-приложений.
Создание почтового соединения Для создания почтового соединения применяется класс SmtpMail, располагающийся в пространстве имен System.Web.Mail. Основное его свойство SmtpServer типа String содержит адрес почтового сервера, на который будет отсылаться сообщение. А метод Send отсылает письмо на этот сервер. В качестве параметра этому методу передается значение типа MailMessage. Именно этот тип полностью определяет отсылаемое сообщение.
Свойства отсылаемого сообщения MailMessage Attachments – свойство задает список файлов, присоединены к письму. Свойство имеет значение типа IList. Этот тип является коллекцией наименований файлов. Bcc – свойство типа String. Его значением является список адресов электронной почты, по которым будет отправлено электронное письмо. Следует, однако, отметить, что в этом свойстве задаются адреса, водящие в список BCC (Blind Carbon Copy), т.е. получатели, чьи адреса указаны в полях To (кому) и Copy (копия), не увидят в заголовке письма адреса из списка BCC. Адреса, водящие в список BCC, разделяются запятой.
Свойства отсылаемого сообщения MailMessage Body –свойство типа String. В нем находится само тело электронного письма. BodyEncoding – свойство типа Encoding, Задает кодировку символов сообщения. BodyFormat – свойство типа MailFormat, в котором устанавливается формат тела электронного письма. Свойство может принимать значения Text и Html. Cc –свойство типа String. В этом свойстве записываются адреса, разделенные запятыми, по которым будет отправлена копия электронного сообщения.
Свойства отсылаемого сообщения MailMessage From – свойство типа String, в котором указывается электронный адрес отправителя письма. Priority- свойство перечислимого типа MailPriority, в котором указывается приоритет отсылаемого письма. Свойство может принимать значения High, Low и Normal. Subject – свойство типа String. В нем записывается тема отправляемого сообщения. To – свойство типа String. В нем указывается адрес электронной почты, по которой будет отправлено создаваемое сообщение.
Создание почтового соединения using System.Web.Mail; … System.Web.Mail.MailMessage Message = new MailMessage(); Message.To = Message.From = Message.Subject = Пример отправки"; Message.Body = "Это текст почтового сообщения. отправленный"+System.DateTime.Now.ToString();
Присоединение файла string sAttach char[] delim = new char[] {','}; try { foreach (string sSubstr in sAttach.Split(delim)) { MailAttachment myAttachment = new MailAttachment(sSubstr); Message.Attachments.Add(myAttachment); }
Присоединение файла } catch(Exception ex) { this.Response.Write("no attach "+ex.Message); }
Отправка почтового сообщения try { SmtpMail.SmtpServer = "adm-119-1"; SmtpMail.Send(Message); } catch(System.Web.HttpException ehttp) { Console.WriteLine("Error while mail message!!\n"); }