




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、實用ActiveX組件的介紹編寫:飛鳥(沈鵬飛) 來自C電子郵件:本文在發(fā)表。謝絕其他網(wǎng)站轉(zhuǎn)載或以其他方式傳播。/ 什么叫活動服務器組件活動服務器組件的基本知識與介紹/ 為什么Active Server Pages需要組件理解Active Server Pages需要組件的原因/ 幾種實用組件的介紹熱門組件的詳細介紹什么叫活動服務器組件(Active Server Compontents)?組件是基于Activex技術的代碼片斷,通過指定接口提供指定的一組服務,組件供給客戶端(Clients)在運行時候請求的對象。你可以理解成組件是一種程序,通過調(diào)用這種程序,你可以實現(xiàn)你在ASP程序中無法實現(xiàn)
2、或者很難實現(xiàn)的功能,組件是一種很好的代碼重用方法。我們可以運用Active Server Pages設計制作動態(tài)、交互的Web頁面,但是一旦你開始著手工作,參與一些實際工作的時候,你會發(fā)現(xiàn)asp在某些方面功能不強,甚至不借助服務器端組件就很難實現(xiàn)某些功能,例如:數(shù)據(jù)庫操作(我們通常使用ADO,ADO就是一個組件),郵件功能,文件系統(tǒng)操作,圖形功能.但是幸運的是我們可以找到很多組件來提高ASP編程應用能力,在下面的內(nèi)容我們將系統(tǒng)的介紹有關的組件,在下一章里面我們還將詳細介紹如何親自動手編寫組件。9.1 活動服務器組件的調(diào)用方法服務器組件和ASP內(nèi)置對象應用程序(Application)、會話(S
3、ession)、請求(Request)、響應(Response)和服務器對象不同,不能直接使用,而必須首先被實例化。CreateObject函數(shù)創(chuàng)建一個對象并返回一個對對象的引用。這個函數(shù)的語法如下:Set objVar=Server.CreateObject(class)Class 表示創(chuàng)建什么樣的對象Class的格式如下顯示:application.className 其中application是應用程序的名字,className是這種對象的名字。一個application可以由一個或者多個對象組成。他們可以在內(nèi)部之間相互調(diào)用的。例如Set myConnection = Server.Cr
4、eateobject("AdoDB.Recordset")注意:不能這樣創(chuàng)建的Asp內(nèi)建對象的實例,如下面的例子將導致一個錯誤<% Set Response = Server.CreateObject("Response") %> 你可以就通過在你的ASP腳本中使用活動服務器端組件,創(chuàng)建動態(tài),交互的Web頁面。9.2 IIS4活動服務器組件Windows NT 4.0 Option Pack安裝之后系統(tǒng)已經(jīng)包含了很多可以選用的活動服務器組件。這些組件你可以在Visual InterDev 6.0的ToolBox工具箱上找到。下面這個表列出了這
5、些組件的名稱和功能。不過請注意:雖然這些內(nèi)容列在工具箱上面,但是不等于這些組件已經(jīng)安裝在你的服務器上了。因為有一些組件是可選擇安裝的。比如Index Server Query. 活動服務器組件名稱 描述ADO Command, ADO Connection,ADO Recordset使用using ActiveX Data Objects (ADO),提供數(shù)據(jù)庫訪問能力Ad Rotator在網(wǎng)頁可以放置一個條狀廣告Browser Capabilities確定訪問這個網(wǎng)站的瀏覽器性能、類型及版本Content Linking創(chuàng)建一個內(nèi)容列表并在網(wǎng)頁之間連接Directionary存貯一個名字/數(shù)
6、值對應集合My Info維護個人信息例如網(wǎng)站管理員的名字、地址等等CDONTS NewMailCollaboration Data Objects for NTS (CDONTS),提供郵件功能(需要安裝和配置SMTP server)提供訪問文件系統(tǒng)的方法(但是文件操作不提供讀寫兩進制文件的功能,而只支持文本文件的讀寫)Index Server QueryIndex Server Utllity可以讓你訪問索引服務器(Index Server)MSMQ QueryMSMQ QueueInfoMSMQ MessageMSMQ MailEmail提供訪問MSMQ(Microsoft Message
7、 Queue)功能的方法表.2-1 IIS4活動服務器組件列表以上組件Windows NT 4.0 Option Pack的產(chǎn)品文檔中均有詳細解釋。如果你安裝了Visual InterDev 6.0和MSDN Library Visual Studio 6.0,那么更可以方便的查詢到有關資料在這里我們就不再詳細的介紹這方面的內(nèi)容了。在后面的內(nèi)容里面,我們將介紹更豐富的組件。9.3 實用組件介紹 這里我們將對許多實用的組件做一個介紹,幫助大家解決實際開發(fā)中所使用的問題。 通常我們使用asp開發(fā)系統(tǒng)都需要實現(xiàn)這樣的功能:1. Email發(fā)送Internet上用asp開發(fā)應用,一般都是面向用戶的,比
8、如需要注冊用戶,這樣就可能需要把用戶密碼發(fā)送到用戶的email信箱里面去。另外建立郵件列表,文章轉(zhuǎn)發(fā),密碼提醒等等功能都要asp實現(xiàn)email發(fā)送。2. 動態(tài)圖形生成我想可能最熟悉的動態(tài)web圖形應用應該是計數(shù)器了,如果是用幾個圖形拼成計數(shù)器圖形,我想可能就不太專業(yè),可以用圖形組件拼成一個完整圖形。另外可以使用圖形組件生成某些統(tǒng)計圖形。例如:餅圖,條形圖。我想我們通常所見的程序如:網(wǎng)上調(diào)查就常以餅圖來直觀的顯示結果。我們還可以使用曲線圖形或柱狀圖形來分析某些數(shù)據(jù)(比如網(wǎng)站流量分析)3. 文件上傳文件上傳也是一個急需的組件。使用文件上傳可以實現(xiàn)客戶端和服務器端的文件/數(shù)據(jù)交換。通常的用途是上傳圖
9、片或word、excel文件,然后就可以入庫,以便系統(tǒng)使用。筆者開發(fā)過一個新聞系統(tǒng)就使用了文件上傳系統(tǒng)上傳新聞圖片,從而實現(xiàn)了web在線新聞編輯。9.3.1 Email組件 W3 Jmail組件在一次瀏覽微軟新聞組的時候,看到有人在表揚Jmail。于是我就去下載了一個嘗試,發(fā)現(xiàn)這個組件做得確實十分好。于是就拿來實現(xiàn)了BBS程序的貼子轉(zhuǎn)發(fā)功能。在這里將介紹這個組件的使用方法。W3 Jmail組件介紹W3 Jmail是一個smtp組件,利用它可以發(fā)送郵件,支持html格式郵件。你可以訪問主頁: 下載這個組件。w3 Jmail 發(fā)送郵件速度快,功能豐富,并且是免費的。JMail 使用環(huán)
10、境Webserver (IIS4/PWS4)Microsoft Windows NT / Windows 98 / Microsoft Windows 95 + Winsock 2.0 (Winsock 2.0可以去微軟站點下載:)3.60版本的JMail的特性Attachments 附件 Return Receipt發(fā)信回執(zhí)Detailed logging capabilities 詳細日志能力Priority settings 優(yōu)先級設定MIME with BASE64, UUEncode and Quoted-Printable Encoding 郵件編碼設置Queued mailing
11、s without separate NT service. 郵件隊列發(fā)送,無需單獨的NT服務Unlimited redundant servers 沒有限制的多余server(SMTP服務器)Blind Carbon Copy (BCC) 密送Carbon Copy (CC) 抄送Urgent flagging 緊急標志US ASCII 和 ISO-8859-1 編碼UUEncoding UUEncode 編碼X-Headers and custom headers 自定義郵件頭MS Mail and Exchange priority headers. 微軟Mail和Exchange優(yōu)先權
12、頭Internal MX lookup with MX priority and redundancy , 帶MX優(yōu)先權和冗余的Internet MX查找 JMail支持的日志功能是非常有用的。特別是當你在發(fā)送郵件的時候遇到困難的時候,就可以察看日志內(nèi)容分析原因。JMail 已經(jīng)檢查了下列2000年問題測試2000-01-01 Bug - OK2000-02-29 Bug - OK2000-04-01 Bug - OK (Found in MS VCRT)JMAIL使用16位精度表示年,所以日期范圍限制在 -32767 32768 Jmail 組件參考說明組件使用方法:set oVar=Ser
13、ver.CreateOject(“jmail.smtpmail”)下表列出了Jmail的屬性編號屬性名類型版本用途使用舉例1BodyStringv3.0信件體,正文,使用AppendText追加內(nèi)容JMail.Body = "Hello world" 2CharsetStringv3.0字符集,缺省為"US-ASCII"簡體中文是gb2312Jmail.Charset = "US-ASCII"3ContentTransferEncodingStringv3.0指定內(nèi)容傳送時的編碼方式,缺省是"Quoted-Printable
14、"(例如ChinaASP=C2=DB=CC=B3 代表ChinaASP論壇,等于號后面的是gb碼的16進制代碼)Jmail.ContentTransferEncoding = "base64"4ContentTypeStringv3.0信件的contentype. 缺省是"text/plain",但是可以設置為其他你想要的類型。如果你以HTML格式發(fā)送郵件, 改為"text/html"即可。 JMail.ContentType = "text/html"5DeferredDeliveryDatev3.0設
15、置延期發(fā)送. 如果郵件服務器支持的話,消息到了這個時間才會發(fā)送(Javascript)Jmail.DeferredDelivery = new Date( 2000, 02, 17 ).getVarDate();6EncodingStringv3.0這個屬性可以用來改變附件編碼方式(缺省是"base64). 可以選擇使用的是"base64", "uuencode" or "quoted-printable" JMail.Encoding = "base64"7ErrorCodeIntegerv3.0如果J
16、Mail.silent設置為true,ErrorCode包含的是錯誤代碼Response.Write( JMail.ErrorCode ); 8ErrorMessageStringv3.0如果JMail.silent設置為true,包含的是錯誤信息Response.Write( JMail.ErrorMessage );9ErrorSourceStringv3.0如果JMail.silent設置為true,包含的是錯誤的來源Response.Write( JMail.ErrorSource ); 10ISOEncodeHeadersStringv3.0是否將信頭編碼成iso-8859-1字符集
17、. 缺省是trueJMail.ISOEncodeHeaders = false11LazysendBooleanv3.0這個屬性指定Jmail是否一直等到mail發(fā)送了然后返回,或者緩沖這條消息然后在后臺發(fā)送。然而設置了這個屬性,你就不能控制錯誤信息。 注意:如果選擇了這個選項,屬性ServerAddress將無效,lazysend將通過dsn查詢決定郵件服務器, 在一些設置里面,這可能有問題。JMail.LazySend = true;12LogStringv3.0Jmail創(chuàng)建的日志,如果loging屬性設置為trueResponse.Write( JMail.Log );13Loggin
18、gStringv3.0是否使用日志JMail.Logging = true14MailDomainStringv3.0改寫發(fā)送到郵件服務器的EHLO/HELO命令 JMail.Maildomain = ""15MimeVersionStringv3.0指定mime版本。缺省是"1.0" JMail.MimeVersion = "1.0"16PriorityIntegerv3.0優(yōu)先級. 范圍在1-5之間 1 高優(yōu)先級. 有些郵件程序稱之為緊急 2 也是高優(yōu)先級 3 普通優(yōu)先級 4 低優(yōu)先級 5 最低的優(yōu)先級Jmail.Priority
19、 = 317RecipientsStringv3.0只讀屬性,返回所有收件人Response.Write( "" + JMail.Recipients + "" );18ReplyToStringv3.0指定一個可選的回信地址Jmail.ReplyTo = ""19ReturnReceiptBooleanv3.0指定是否發(fā)件人需要一個回復收據(jù). 缺省是falseJmail.ReturnReceipt = true20SenderStringv3.0指定發(fā)件人的郵件地址Jmail.Sender = ""21Sende
20、rNameStringv3.0指定發(fā)件人的姓名Jmail.SenderName = "Bat man"22ServerAddressStringv3.0指定郵件服務器的地址。可以指定多個服務器,用分號點開。可以指定端口號。如果serverAddress保持空白,Jmail會嘗試解決遠程郵件服務器,然后直接發(fā)送到服務器上去。Jmail.ServerAddress = " :2500"23SilentBooleanv3.0如果設置為true,JMail不會拋出例外錯誤. JMail.execute() 會根據(jù)操作結果返回true或falseJmail.sil
21、ent = true24SimpleLayoutBooleanv3.0設置為true,減少Jmail產(chǎn)生的header信頭Jmail.SimpleLayout = true25SubjectStringv3.0設定消息的標題Jmail.Subject = "Dimac rocks big time!"26UsePipeliningBooleanv3.0Overrides if Jmail should use pipelining on a server that supports it. Jmail.Pipelining = false 表.3.1.1-1 Jmail屬性
22、列表下表列出了Jmail的方法編號方法版本用途使用舉例1AddAttachment( , ContentType ) v30添加文件附件到信件JMail.AddAttachment( "c:autoexec.bat" );2AddCustomAttachment( , Data ) v3.0添加自定義附件. This can be used to attach "virtual files" like a generated text string or certificate etc.JMail.AddCustomAttachment( "r
23、eadme.txt", "Contents of file" );3AddHeader( XHeader, Value ) v3.0添加用戶定義的X-header到messageJMail.AddHeader( "Originating-IP","23" );4AddNativeHeader( Header, Value ) v3.0添加信頭JMail.AddNativeHeader( "MTA-Settings", "route" );5AddRecipient
24、( Email )v3.0增加收件人JMail.AddRecipient( "" );6AddRecipientBCC( Email ) v3.0增加密送收件人JMail.AddRecipientBCC( "" );7AddRecipientCC( Email ) v3.0增加抄送收件人JMail.AddRecipientCC( "" );8AddRecipientEx( Email, Name ) v3.0增加一個帶名字的收件人JMail.AddRecipientEx( "", "Dimac INFO&
25、quot; );9AddURLAttachment( bstrURL, bstrAttachAs, bstrAuth )v3.0下載并添加一個來自url的附件. 第二個參數(shù)"AttachAs", 被用來指定信件收到后的文件名. 第3個可選參數(shù)是用來可選的WWW-鑒定.JMail.AddURLAttachment( "", "jmail.exe" )10AppendBodyFromFile( ) v3.0將一個文件內(nèi)容追加到正文后JMail.AppendBodyFromFile( "c:mytext.txt" );1
26、1AppendText( Text ) v3.0追加信件的正文內(nèi)容JMail.AppendText( "Text appended to message Body" );12ClearAttachments() v3.0清除附件列表JMail.ClearAttachments();13ClearCustomHeaders()v3.0清除所有自定義的信頭JMail.ClearCustomHeaders();14ClearRecipients() v3.0清除收件人列表JMail.Close();15Execute() :Booleanv3.0執(zhí)行郵件的發(fā)送JMail.Exec
27、ute();16ExtractEmailAddressesFromURL( bstrURL, bstrAuth ) v3.0從一個url下載和添加email地址JMail.ExtractEmailAddressesFromURL( "" );17GetMessageBodyFromURL( bstrURL, bstrAuth ) v3.0清除message的正文,并用url的內(nèi)容替換。Contenttype 會自動設置成URl的contentyp。第二參數(shù)(login and password)是可選的。JMail.GetMessageBodyFromURL( "
28、", "login:password" )18LogCustomMessage( Message )v3.0將用戶自定義消息加入Jmail日志. 只有屬性loging設置為true時,這項功能才能起作用JMail.LogCustomMessage( "Hello world" );表.3.1.1-2 Jmail方法列表程序舉例: <html> <head> <title>your Title </title> <body> <% Set JMail = Server.Create
29、Object("JMail.SMTPMail") ' 設置serverAddress為我本地的smtp server 地址 JMail.ServerAddress = ":25" ' 發(fā)件人地址 JMail.Sender = "" JMail.Subject = "郵件標題" ' 收件人信箱,請注意這里沒有使用等號 JMail.AddRecipient "" JMail.AddRecipient "" ' 屬性body可以寫也可以讀 '
30、 如果你希望給body追加文本,你可以使用 ' JMail.Body = JMail.Body & "Hello world!" ' 或者你可以使用JMail.AppendText "Hello World!" 'JMail.Body = "Here you go. Your request has been approved" &_ "and the program is attached to this message" 信件的緊急程度 ' 1 - highest
31、 priority (Urgent) 急件 ' 3 normal 普通 ' 5 lowest 最低程度 JMail.Priority = 1 發(fā)件人IP地址 JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR") ' 請注意:IUSR_? 要有訪問的權限 JMail.AppendBodyFromFile "e:mailstandard_footer.txt" JMail.AddAttachment "e:prod
32、uctsMyProduct.exe" ' 發(fā)送郵件 JMail.Execute %> <center> 郵件發(fā)送到你的郵箱 (<%=request.form("email")%>). </center> </body> </html>但是上面的例子存在這樣的問題:由于郵件使用英文編碼(缺省的),所以用outlook/outlook express收,看到的缺省頁面中文是亂碼,必須手工設置為簡體中文(GB2312),才能正常閱讀。其實我們只要在上面的程序Jmail.execute之前加上 Jm
33、ail.CharSet=”gb2312”,那么郵件的編碼就是中文了。還有一個問題是如何發(fā)送html格式的郵件。下面是發(fā)送html格式郵件的例子 Set JMail = Server.CreateObject("JMail.SMTPMail") JMail.Charset = "gb2312" JMail.ContentType="text/html" JMail.ServerAddress =”:25” JMail.Sender = “” JMail.Subject = “html格式的郵件” JMail.AddRecipient “
34、”JMail.Body = “<html><body><p>你好,謝謝你訪問我們的網(wǎng)站” & _“<a href= target=_blank>yourHost</a>”& _ ”</p></body></html>” JMail.Priority = 1 JMail.AddHeader "Originating-IP", _ Request.ServerVariables("REMOTE_ADDR") JMail.Execute set jM
35、ail=nothing ASP Email組件aspEmail是一個"免費"的服務器組件,它提供通過smtp發(fā)送郵件的方法。這個組件支持多個附件,多個收件人,抄送,密送,和回復。除了基本的功能是免費使用的之外,另外一些功能需要注冊:隊列郵件發(fā)送、嵌入式圖片和Quoted-printed格式。更多信息你可以在aspEmail的主頁上獲得:系統(tǒng)需求一般配置需求:Windows 95/98 或 Windows NT 4.0+ 還要一個外部的SMTP服務程序特殊配置需求:Internet Information Server 3.0 + 和 Active Serve
36、r Pages, 或 Personal Web Server (any version) 和 Active Server Pages, 或Visual Basic, Visual C+, 或其他任何支持COM組件開發(fā)的開發(fā)環(huán)境。主頁:下載:組件注冊:在命令行執(zhí)行下面的命令(你可以在MS-DOS命令行輸入,也可以在開始菜單/運行中輸入):C:regsvr32 c:AspEmailDirAspEmail.dll下表列出了aspEmail的屬性編號屬性名類型說明1HostString必須設定的屬性。用來發(fā)送郵件的Smtp服務器的internet地址。Mail.Host = “”2PortIntege
37、rSmtp服務器的端口地址,缺省是253FromString必須設定的屬性,發(fā)件人地址4FromNameString發(fā)件人的名字5SubjectString郵件的主題6BodyString郵件的內(nèi)容7IsHTMLBoolean缺省是False, 如果設置為True,AspEmail會設置郵件的CONTENT-TYPE為TEXT/HTML8PriorityInteger郵件優(yōu)先級,合法的值有:高3-正常5-低0-缺省(未指定優(yōu)先級)9HeloString缺省值是”AspEmail”。在SMTP會話開始的時候,這個字符串被HELO命令發(fā)送。SMTP客戶端用來對Smtp服務器標記它的域名10Cont
38、entTransferEncoding String缺省”7bit”。為郵件體指定”內(nèi)容傳輸編碼” MIME頭。其他合法的值還有”8bit” 和 “quoted-printable”。如果你設定為”quoted-printable”,AspEmail會自動轉(zhuǎn)化信件體為RFC-2045規(guī)定的Quoted-Printable格式。注意:這是需要額外費用的特性11CharSetString缺省為 “ISO-8859-1” 。指定MIME頭Content-type的charset部分。注意:這是需要額外費用的特性12ExpiresDate返回這個組件需要額外費用的特性試用的過期日期。如果一個合法的注冊
39、鍵已經(jīng)安裝了,則返回9/9/9999,如果這個注冊表給破壞或丟失的話。返回為0(顯示為12:00AM)表.3.1.-ASP Email組件的屬性下表列出了ASP Email的方法編號方法參數(shù)說明1AddAddress(Email As String, Optional Name )收件人列表增加一個郵件地址,可以加一個相應的全名。2AddCC(Email As String, Optional Name )抄送收件人列表增加一個郵件地址,可以加一個相應的全名。3AddBCC(Email As String, Optional Name )密送收件人列表增加一個郵件地址,可以加一個相應的全名。4
40、AddReplyTo (Email As String, Optional Name )回復收件人列表增加一個郵件地址,可以加一個相應的全名。5AddAttachment(Path as String)增加一個附件,path是文件的路徑6AddEmbeddedImage(Path As String, ContentID As String)在信件體內(nèi)增加一個內(nèi)嵌圖片,path是字符串,ContentID是一個沒有空格的字符串,例如:”My-Image”,這個字符串將在body HTML里面像這樣被應用:<IMG SRC="cid:My-Image"> 或<
41、;BODY BACKGROUND="cid:My-Image">注意:這是需要額外費用的特性7AppendBodyFromFile(Path as String)從Path參數(shù)指定的一個text文件或html文件中獲取數(shù)據(jù)添加到body屬性上8Send as Boolean無發(fā)送郵件。9SendToQueue as Boolean( Optional Path = "")將郵件發(fā)送到一個郵件隊列中并立即返回。需要EmailAgent服務在運行(EmailAgent是一個另外的程序,在aspEmail主頁上可以下載)。Path參數(shù)指定郵件被張貼到的郵
42、件隊列的路徑。如果path參數(shù)被忽略,則采用注冊表內(nèi)EmailAgent設置的參數(shù)。注意:這是需要額外費用的特性10SendEncrypted(Msg As CryptoMessage)以S/MIME格式發(fā)送一個加密的郵件。需要AspEncrypt組件支持。AspEncypt主頁:11SendSigned(Msg As CryptoMessage)以S/MIME格式發(fā)送一個數(shù)字簽名的郵件。12SendSignedAndEncrypted(Msg1 As CryptoMessage, Msg2 As CryptoMessage)發(fā)送一個郵件。該郵件先試數(shù)字簽名,然后再加密的。13Reset清空所
43、有地址列表,所以一個新郵件才能夠發(fā)送。14ResetAll和Reset一樣功能,另外還重置所有屬性的值。表.3.1.-aspEmail方法的屬性調(diào)用舉例:在下面的例子里面 發(fā)送一份text格式的mail,并放置了一個圖片的附件。<%Set Mail = Server.CreateObject("Persits.MailSender")Mail.Host = "smtp.smtp-" ' 指定smtp服務器Mail.From = "" ' 指定發(fā)件人郵件地址Mail.FromName = "VeryHot
44、Cakes Sales" ' 指定發(fā)件人的名字Mail.AddAddress "", "某某先生" Mail.AddAddress "" ' 收件人名字可選Mail.AddReplyTo "" Mail.AddAttachment "c:imagesbook.gif"Mail.Subject = "感謝你定購本公司出版的書籍!"Mail.Body = "親愛的客戶:" & Chr(13) & Chr(10) &am
45、p; _ "感謝你的熱心關懷."On Error Resume NextMail.SendIf Err <> 0 Then Response.Write "Error encountered: " & Err.DescriptionEnd If%> AspEmail有一個吸引人的功能是:可以實現(xiàn)帶內(nèi)嵌圖片html格式的郵件。下面的例子使用文件margin.gif作為郵件的背景。. Mail.Body = "<HTML><BODY BACKGROUND=""cid:My-Backgr
46、ound-Image"">.</BODY></HTML>" Mail.AddEmbeddedImage "c:aspemaildirmargin.gif", "My-Background-Image" 不過如果要使用這項功能沒有試用期限制,需要支付額外的費用。AddEmbeddedImage 有兩個參數(shù):指向圖片文件的全路徑和一個 Content ID,Content ID是一個沒有空格的字符串,body HTML像這樣應用:"cid:<Content ID>"
47、在上面的例子里面我們使用Content ID "My-Background-Image",作為body 標記的一個背景屬性被引用。我們可以使用同樣的方法在郵件體內(nèi)用img標記嵌入一個圖像:Mail.Body = "<HTML>.<IMG SRC=""cid:My-Company-Logo"">.</HTML>" Mail.AddEmbeddedImage "c:aspemaildirlogo.gif", "My-Company-Logo"
48、為了使得你編寫的腳本有更多的可讀性,你可以把郵件體的內(nèi)容放到一個單獨的文件中,然后可以使用AppendBodyFromFile方法將內(nèi)容倒入到body屬性中,AppendBodyFromFile接受包含郵件內(nèi)容的text文件或html文件的全路徑。<!- > <HTML> <HEAD> <STYLE>BODY COLOR: #427d64; FONT-FAMILY: "Arial" FONT-SIZE: 12pt; MARGIN-LEFT: 8em </STYLE> </HEAD> <BODY B
49、ACKGROUND="cid:My-Background-Image"> <H2>Thank you for Shopping At Our Online Store!</H2> . </BODY> </HTML>要使用這個文件作為信件體,使用如果代碼:Mail.AppendBodyFromFile "c:aspemaildirmessagebody.html" Mail.AddEmbeddedImage "c:aspemaildirmargin.gif", "My-Ba
50、ckground-Image" AppendBodyFromFile方法可以用來替代body屬性試用,或者關聯(lián)起來使用9.3.2 動態(tài)圖形組件 AspImage組件關于AspImageASPImage可允許你從asp中隨意創(chuàng)建和修改圖片。你可以利用這個組件,創(chuàng)建自己的動態(tài)圖形。AspImage包括以下特性: 創(chuàng)建動態(tài)GIF生成GIF(僅指RLE編碼,不支持載入GIF)、JPG,PNG和BMP格式的圖片 創(chuàng)建和修改圖像漸進填充 支持rectangle(矩形畫圖),arc(弧形)和circle(圓)等畫圖方法切割,抽取,修改大小和旋轉(zhuǎn)圖形按鈕,變暗,加亮和其他效果從OLE變
51、量或其他AspImage對象中載入圖像支持response.binarywriteASPImage的安裝將dll文件,拷貝到一個子目錄,例如NT的目錄winntsystem32,win95/98的目錄windowssystem.注冊dll文件,命令行將當前目錄換到該目錄,然后鍵入: regsvr32 aspping.dllregsvr32在windows系統(tǒng)目錄可以找到ASPImage的使用說明組件使用方法:set oVar=Server.CreateOject(“AspImage.Image”)下表列出了ASP Image的屬性編號屬性描述舉例1AntiAliasText該屬性允許你在圖片中
52、建立無鋸齒文本,默認值為False Image.AntiAliasText = True2AutoClear默認值為真。一旦圖片保存后,現(xiàn)有圖片將被清除。如將AutoClear設置為False,圖片保存后仍可以保留現(xiàn)有版本,對其進行處理。Image.AutoClear = false3AutoSize確定當圖片被拖動到現(xiàn)有坐標之外時是否將該圖片剪切到合適大小。該屬性為真時,圖片將配合要求自動增大。為假時,拖動操作將被剪切到合適現(xiàn)有圖片的大小。Image.AutoSize = False4BackgroundColor整型數(shù),用來指定背景色。Image.BackgroundColor = vbW
53、hite5BoldTrue or false. 指定字體是否加粗。Image.Bold = True6BrushColor用以指定格式刷的顏色(1.8以上版本適用,使用格式刷之后背景色失效)Image.BrushColor = VbRed7BrushStyle用來指定格式刷的刷筆樣式. Value Type Description 0 Solid 填充方式 1 Clear 清除方式 2 Horizontal 水平方向 3 Vertical 垂直方向 4 FDiagonal 45度自左到右斜向下 5 BDiagonal 45度自左到右斜向上 6 Cross 水平和垂直交叉方式 7 DiagCro
54、ss 45度交叉方式 8Error用于記錄在調(diào)用各種方法的過程中可能出現(xiàn)的錯誤信息。Response.Write "Error: " & Chart.Error9Expires如果使用的ASPImage組件是測試版或beta版,該屬性返回該組件失效日期。 Response.Write "Component Expires: " & Image.Expires10指定用SaveImage方法保存文件時文件的絕對路徑。Image. = "d:inetpubimagesabc.jpg"11FontColor整型值,指定字體的
55、顏色。Image.FontColor = vbRed12FontName字符型,指定字體名稱。Image.FontName = "MS Sans Serif"13FontSize整型值,指定字體的大小。Image.FontSize = 1214Image該屬性只讀,它包含當前圖片的二進制數(shù)據(jù)。用戶可以直接將二進制數(shù)據(jù)寫如客戶端,而不使用saveimage方法,具體采用那種方式需要視應用程序的設計而定。在ASP中可以使用response.binarywrite方法將圖片的二進制數(shù)據(jù)寫入客戶端,但要注意把contenttype屬性設置成相應的值。現(xiàn)有版本image屬性僅支持JP
56、EG或PNG文件。包含文件中的BinWTExt.asp介紹了如何使用該屬性。在使用該屬性之前把imageformat屬性設置成JPG或PNG。15ImageFormat該屬性指定要保存的圖片類型。 合法的值有:JPG = 1BMP = 2PNG = 3GIF = 5Image.ImageFormat = 5Image. = "c:inetpubimageslogo.gif"16JPEGQualityJPEG圖象的質(zhì)量。合法值是1到100。Image.JPEGQuality = 9517MaxX指定圖象的X方向大小。Image.MaxX = 10018MaxY指定圖象的Y方向大小。Image.MaxY = 10019PadSize該屬性是允許用戶在文字周圍按水平和垂直方向用背景色自動填充的寬度。Image.PadSize = 520PenColor指定在畫布上畫線時所使用的顏色。 Image.PenColor = &h8000001121PenStyle指定畫線時畫筆的樣式。 0 Solid 實線 1 Dash 虛線 2 Dot 點線 3 DashDot 虛線與點交替 4 DashDotDot 虛線與兩點交替 5 Clear 無 (
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空航天器振動與噪聲控制技術考核試卷
- 機動車交通事故公證處理考核試卷
- 聯(lián)合品牌推廣考核試卷
- 稀土金屬壓延加工中的質(zhì)量改進方法比較與分析考核試卷
- 自行車的時尚與服裝設計考核試卷
- 航海倫理與職業(yè)道德規(guī)范實踐考核試卷
- 四川司法警官職業(yè)學院《籃球俱樂部》2023-2024學年第二學期期末試卷
- 網(wǎng)絡安全技術實踐教程(微課版)-教案 信息收集與漏洞掃描
- 上海市閔行區(qū)七寶中學2025年高三考前適應性訓練化學試題試卷含解析
- 太湖創(chuàng)意職業(yè)技術學院《口腔醫(yī)學探究性學習》2023-2024學年第一學期期末試卷
- 近視防控技術的進展
- 【工程法規(guī)】王欣 教材精講班課件 41-第7章-7.1-工程建設標準
- 二類醫(yī)療器械零售經(jīng)營備案質(zhì)量管理制度
- 工作場所安全與環(huán)境保護管理制度
- 電氣自動化試題及答案
- 內(nèi)控評價收集資料清單
- 虹橋商務區(qū)核心區(qū)一期及南北片區(qū)集中供能專項規(guī)劃
- 六年級數(shù)學上冊第二單元《位置與方向》測試題-人教版(含答案)
- 2024年云南省職業(yè)技能大賽(健康照護賽項)理論參考試題庫(含答案)
- 1.5彈性碰撞和非彈性碰撞 課件高二上學期物理人教版(2019)選擇性必修第一冊
- 專題11二次函數(shù)中矩形存在性綜合應用(專項訓練)(原卷版+解析)
評論
0/150
提交評論