Ch11 檔案上傳及電子郵件 WEB程式設計.

Slides:



Advertisements
Similar presentations
題目:徽章之記憶 南台科技大學 機械系 車輛一乙 學號:4A 姓名:黃冠嘉 教師:謝慶存
Advertisements

計算機程式及實習 期末報告 題目:超級猜一猜
童詩教學 爬格子工作坊 互動過程 童詩教學法 教學教案 相關資源 心得 林士翔
遊程規劃實務 中華民國遊程規劃設計協會.
基于JSP搭建Web应用程序.
自 我 介 紹 班級:運促一乙 姓名:林以權 學號:D
第八章 DataGrid 與 DataTable 瀏覽器 DataTable DataGrid 存取 顯示表格 暑資碩三 房玄博 報告.
ASP.NET 網頁製作教本 – 從基本語法學起
佛山科学技术学院 第7章 HTML Internet及多媒体应用.
动态网页制作 第1章 HTML语言1.
主讲 冷清波 城乡规划管理与法规 主讲 冷清波
第13章 FTP檔案上傳、 自動傳送 報告人 M9153314 李育旻.
学习情境三:配置WEB服务器 服务器配置与管理.
《ASP.NET数据库网站设计教程(C#版)》
組長:呂淑君 組員:邱采王亭 吳仁傑 池姿霖 楊佩慈
《计算机网络技术》 asp.net 程序设计 文本类控件 笪静.
VBA应用开发与实例 李 辉 微软课程培训讲师. VBA应用开发与实例 李 辉 微软课程培训讲师.
題目:台灣客運 南臺科技大學 機械工程系 班級:奈米一乙 學號:4A 姓名:蔡政堯 授課教師:謝慶存
HTML簡介、文字的變化、超連結的使用 主講:朱漢琳.
Ch03 VB.NET語法建立ASP.NET 網頁程式設計.
2018/9/19.
Hello World 體驗實作第一個JSP程式.
ASP VBScript 基础知识.
《ASP.NET数据库网站设计教程(C#版)》
Web Part與 個人化網頁製作 資策會教育訓練處 王寧疆 MCAD.NET/MCSD.NET/MCT
第四章 網頁表單與資料傳遞.
CH11.
ASP.NET 網頁製作教本 – 從基本語法學起
PHP 5 入門基礎 第一個PHP 程式 PHP 資料型態.
在 Web 应用中,导航是非常重要的。ASP
HTML 钟晖云 QQ:
JSP自定义标签技术的分析与应用 ----Custom Tag 的分析与应用
第14章 建立網路應用程式 14-1 瀏覽器的建立 14-2 檔案下載器 14-3 寄送電子郵件 14-4 檢查POP 3的電子郵件.
客戶端的檔案上傳 HtmlInputFile檔案控制項 上傳單一檔案 同時上傳多個檔案.
ASP.NET 網頁製作教本 – 從基本語法學起
ASP.NET 網頁製作教本 – 從基本語法學起
ASP.NET 網頁製作教本 – 從基本語法學起
第六讲 JSP中的文件操作(2) 教学目的 本讲继续讲述JSP中使用Java输入、输出流实现文件的读写操作 。 1 文件上传 2 文件下载
PHP+MySQL互動式網頁程式設計班 檔案上傳程式設計 講師:林業峻 CSIE, NTU 7 / 3, 2010.
檔案上傳 所謂檔案上傳,就是將檔案由客戶端的主機,藉 由瀏覽器傳送到伺服器的資料夾上。
第14章 伺服器檔案、電子郵件處理與Ajax 14-1 資料夾與檔案操作 14-2 文字檔案的讀寫 14-3 電子郵件與附檔處理
第12章 JSP的檔案與電子郵件處理 12-1 伺服端的檔案處理 12-2 伺服端檔案的讀取與寫入 12-3 客戶端的檔案上傳
ASP.NET 網頁製作教本 – 從基本語法學起
第7章 Web伺服器檔案與XML文件的處理 7-1 System.IO名稱空間的基礎 7-2 伺服器的資料夾與檔案操作
第5章 .NET框架类 5.
第十二章 SQL語言簡介 講授大綱: 新增資料庫 新增資料表 新增資料 修改資料 刪除資料 查詢資料 透視ASP.NET-第12章
主 讲 教 师:陆有军 Web技术与应用 第四章 内部对象 主 讲 教 师:陆有军
第5章 .NET框架类 5.
第3章 ASP.NET程序设计基础 3.
W3C标准网页制作 主讲教师:张 涛.
題目:南台飲料店結帳系統 南台科技大學 機械工程系 車輛一甲 學號:4A
第4章 ASP.NET的HTTP物件、輸出入與Cookie處理
网页设计与制作教程第5版 机械工业出版社同名教材 配套电子教案.
HTML 103 互動式網頁.
利用 ASP.NET MVC 提升您的 Web 應用程式
蓝色图示 — 无动画版.
第18章 個人入口網站的建立 18-1入口網站的基礎 18-2 建立網站的搜尋引擎 18-3 網頁組件的個人化功能
Ch09 在網頁之間傳遞資訊 網頁程式設計.
Ch04 VB.NET的流程控制 網頁程式設計.
第 10 章 ADO.NET與XML.
C# 基本語法、變數.
1 Session对象的特性 Session 状态对象 Session 对象常用的方法有: Session 对象常用的属性有:
6-1 認識超連結 超連結是網頁中少不了的元件,透過他才能將不同的網頁、網站相連,讓使用者可以在不同網站中瀏覽。而圖片、動畫等檔案,也是透過超連結的方式來呈現網頁中,所以底下讓我們來好好的認識超連結。
HTML 103 互動式網頁 助教:黃毓瑩.
向导控件的样式 当创建了一个向导控件时,系统会自动生成向导控件的 HTML 代码,示例代码如下所示。
計算機程式及實習 Computer Program Design and Experiment) 期末報告ppt製作
第1章 ASP.NET基础.
HTML大探索.
第6章 PHP的数据采集.
表单页面 表单是用户利用浏览器对Web站点网络数据库进行查询的一种界面,用户利用表单可以输入信息或选择选项等,然后将这些信息提交给服务器进行处理。通过表单,既可以将浏览器的信息发送到Internet服务器上,同时表单也可以使用户与站点的浏览者交互或从浏览者那里收集信息。它是网页的设计者和使用者相互交流的工具。表单对象包括文本域(单行、多行、密码)、列表、菜单、复选框、单选框、按钮等。
Presentation transcript:

Ch11 檔案上傳及電子郵件 WEB程式設計

<html> <head> <script runat="server"> Sub Page_Load(ByVal sender as Object, ByVal e As EventArgs) Dim i As Integer For i=1 to 30 DateList.Items.Add(i) Next End Sub </script> </head> <body> <form runat="server"> 日期: <asp:DropDownList runat="server" ID=“DateList"/> </form> </body> </html>

HtmlInputFile檔案控制項-語法 ASP.NET的Web表單可以使用HTML控制項的HtmlInputFile檔案控制項檢視客戶端的檔案清單,然後在客戶端選擇上傳的檔案,其基本語法如下所示: <input type="FILE" id="field_name" size="number" accept="image/*" runat="Server"/> 標籤也是Input欄位,只是type屬性為FILE,這個標籤可以顯示一個欄位和一個按鈕以選取檔案。

HtmlInputFile檔案控制項-使用 使用HtmlInputFile控制項的目的是上傳檔案,Web表單<form>標籤需要使用enctype屬性指定編碼方式,如下所示: <form enctype="multipart/form-data" runat="Server"> ………….. </form> enctype屬性指定的是上傳檔案的編碼方式,如下所示: enctype="multipart/form-data" 屬性值可以將選擇檔案內容上傳到Web伺服器。

上傳單一檔案-匯入名稱空間 上傳檔案需要使用到System.IO名稱空間的HttpPostedFile類別,所以在ASP.NET程式的開頭需要匯入此名稱空間,如下所示: <%@ Import Namespace="System.IO" %> 只需在Web表單的HtmlInputFile控制項選好上傳檔案,上傳的檔案資料就會隨著網頁送回伺服端。

上傳單一檔案-使用 在伺服端使用此控制項的PostedFile屬性取得HttpPostedFile物件,如下所示: Dim file As HttpPostedFile = filename.PostedFile 程式碼取得HtmlInputFile控制項屬性PostedFile的HttpPostedFile物件,然後使用SaveAs()方法將檔案資料寫成伺服端的檔案,如下所示: file.SaveAs(up_path & "/" & _ Path.GetFileName(file.FileName)) FileName屬性可以取得上傳檔案的名稱,ContentLength屬性取得上傳檔案的長度,Path類別的GetFileName()方法可以取得路徑中的檔案名稱。

範例1:上傳檔案 <%@ Page Language="VB" Debug="True" %> <%@ Import Namespace="system.IO" %> <script Runat="server"> Sub UpLoadFile(S As Object, e As EventArgs) Dim uploadPath As String =Server. MapPath("Ch11") Dim file As HttpPostedFile = filename.PostedFile If file.ContentLength = Nothing Then msg.Text = "請選擇上傳的檔案" Else file.SaveAs(uploadPath & "/" & Path.GetFileName(file.FileName)) msg.Text = "檔案上傳成功" End If End Sub </script> <html> <head> <title>上傳檔案</title> </head> <body> <form enctype="multipart/form-data" runat="server"> <input type="FILE" Id="filename" size="40" runat="server"/><br/> <asp:Button OnClick="UploadFile" Text="上傳檔案" runat="server"/><br/> <asp:Label id="msg" runat="server" /> </form> </body> </html>

同時上傳多個檔案-取得集合物件 如果Web表單擁有多個HtmlInputFile控制項,我們就可以同時上傳多個檔案,在選擇好多個上傳檔案後,伺服端可以取得這些檔案的集合物件,如下所示: Dim objFileCollection As HttpFileCollection = _ Request.Files 程式碼使用Request物件的Files屬性取得上傳檔案的HttpFileCollection物件,這是HttpPostedFile集合物件。

同時上傳多個檔案-儲存上傳檔案 在取得上傳檔案的集合物件後,使用For Next迴圈取得每一個HttpPostedFIle物件,如下所示: For i = 0 To objFileCollection.Count - 1 file = objFileCollection(i) If file.ContentLength <> Nothing Then file.SaveAs(up_path & "/" & _ Path.GetFileName(file.FileName)) End If Next i 程式碼的Count屬性可以取得物件數,在取得每一個HttpPostedFile物件後,使用SaveAs()方法儲存上傳的檔案。

Web表單的電子郵件寄送-匯入名稱空間 在ASP.NET程式處理電子郵件,寄送郵件是使用System.Web.Mail名稱空間的MailMessage和SmtpMail類別,在程式的開頭需要匯入此名稱空間,如下所示: <% @Import Namespace="System.Web.Mail" %> 在匯入名稱空間後,即可使用MailMessage類別建立電子郵件,然後使用SmtpMail類別寄送郵件。

Web表單的電子郵件寄送-MailMessage類別 Dim mail As MailMessage = New MailMessage() 程式碼使用New運算子建立名為mail的MailMessage物件,接著就可以設定物件的相關屬性來建立郵件內容。

Web表單的電子郵件寄送-MailMessage類別的屬性

Web表單的電子郵件寄送-SmtpMail類別的屬性和方法

範例2: 寄送電子郵件 <%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Mail" %> <html> <head> <title>範例11_02:電子郵件寄送</title> <script Language="VB" runat="server"> Sub sendEmail_Click(s as object, e as eventargs) '設定email物件 Dim mail As new MailMessage 'Dim SmtpServer As SmtpMail = New SmtpMail() '設定收件者 mail.To = "wangdaj@mail.nkmu.edu.tw" '設定寄件者 mail.From = "wangdaj@mail.nkmu.edu.tw" '設定副本收件者 mail.Cc = "wangdaj@mail.nkmu.edu.tw" '指定郵件格式 If emailFormat.Checked Then mail.BodyFormat = MailFormat.Html 'HTML格式 else '文字格式 mail.BodyFormat = MailFormat.Text End If '設定優先等級 mail.Priority = MailPriority.Normal '主旨 mail.Subject = emailSubject.Text '本文 mail.Body = emailBody.Text '設定SMTP伺服器 SmtpMail.SmtpServer = "mail.nkmu.edu.tw" '寄出郵件 SmtpMail.Send(mail) msg.Text = "電子郵件已經寄出...<br>" End Sub </script> </head> <body> <center><h2>表單的電子郵件寄送</h2></center> <hr> <form runat="server"> <b>地址: </b><asp:TextBox id="emailTo" runat="Server" /><br> <b>主旨: </b><asp:TextBox id="emailSubject" runat="Server" /><br> <b>內容: </b><asp:CheckBox id="emailFormat" runat="Server" /> <b>HTML格式</b><br> <asp:TextBox id="emailBody" TextMode="MultiLine" Columns="30" Rows="10" runat="Server" /> <br> <asp:Button Text="寄出" OnClick="sendEmail_Click" runat="Server" /> </form> <asp:Label id="msg" runat="Server" /> </body> </html>

電子郵件的附檔處理 當Web表單輸入郵件內容且選擇好附檔後,需要先上傳附檔,如下所示: uploadFile = temp_path & "/" & _ Path.GetFileName(fileName.FileName) fileName.SaveAs(uploadFile) 程式碼在上傳好郵件的附檔後,就可以建立附檔的MailAttachment物件,如下所示: Dim mailAttachedFile As MailAttachment=New _ MailAttachment(uploadFile) mail.Attachments.Add(mailAttachedFile) 程式碼建立好MailAttachment物件,然後將附檔新增到Attachments屬性的集合物件。

範例3: 有附件檔案的電子郵件 <%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Mail" %> <%@ Import Namespace="System.IO" %> <html> <head> <title>範例11_03:電子郵件寄送附件檔</title> <script Language="VB" runat="server"> Sub sendEmail_Click(s as object, e as eventargs) '設定email物件 Dim mail As new MailMessage 'Dim SmtpServer As SmtpMail = New SmtpMail() '設定收件者 mail.To = "wangdaj@mail.nkmu.edu.tw" '設定寄件者 mail.From = "wangdaj@mail.nkmu.edu.tw" '設定副本收件者 mail.Cc = "wangdaj@mail.nkmu.edu.tw" '指定郵件格式 If emailFormat.Checked Then mail.BodyFormat = MailFormat.Html 'HTML格式 else '文字格式 mail.BodyFormat = MailFormat.Text End If '設定優先等級 mail.Priority = MailPriority.Normal '主旨 mail.Subject = emailSubject.Text '本文 mail.Body = emailBody.Text Dim temp_path As String = Server.MapPath("/") Dim uploadFile As String = "" '取得HttpPostedFile物件 Dim fileName As HttpPostedFile = attachedFile.PostedFile '檢查檔案是否有內容 If fileName.ContentLength <> Nothing Then '上傳檔案儲存的路徑 uploadFile = temp_path & "/" & Path.GetFileName(fileName.FileName) fileName.SaveAs(uploadFile) '在電子郵件加上附檔 Dim mailAttachedFile As MailAttachment = New MailAttachment(uploadFile) mail.Attachments.Add(mailAttachedFile) End If '設定SMTP伺服器 SmtpMail.SmtpServer = "mail.nkmu.edu.tw" '寄出郵件 SmtpMail.Send(mail) msg.Text = "電子郵件已經寄出...<br>" '刪除上傳的暫存檔案 If uploadFile <> "" Then File.Delete(uploadFile) End Sub </script> </head>

<body> <center><h2>電子郵件寄送附檔</h2></center> <hr> <form enctype="multipart/form-data" runat="server"> <b>地址: </b><asp:TextBox id="emailTo" runat="Server" /><br> <b>主旨: </b><asp:TextBox id="emailSubject" runat="Server" /><br> <b>內容: </b><asp:CheckBox id="emailFormat" runat="Server" /> <b>HTML格式</b><br> <asp:TextBox id="emailBody" TextMode="MultiLine" Columns="30" Rows="10" runat="Server" /> <br> <b>附檔: </b><input type="File" id="attachedFile" size="30" runat="server" /> <br> <asp:Button Text="寄出" OnClick="sendEmail_Click" runat="Server" /> </form> <asp:Label id="msg" runat="Server" /> </body> </html>