صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 17

موضوع: Asp

  1. #1
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180
    سپاس ها
    19
    سپاس شده 582 در 473 پست

    پیش فرض Asp

    [size=6]مباحث مربوط به Asp[/size]

  2. #2
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180
    سپاس ها
    19
    سپاس شده 582 در 473 پست

    Post شروع کار با Asp

    [FONT=Arial][SIZE=2]يك فايل ASP مى تواند حاوى متون، Tagهاى HTML و اسكريپت ها باشد. اسكريپت ها در يك فايل ASP بر روى سرور اجرا مى شوند.[/SIZE][/FONT]
    [FONT=Arial][SIZE=2][B]به عنوان پيش نياز چه چيزى را بايد بدانيد؟[/B][/SIZE][/FONT]
    [FONT=Arial][SIZE=2]قبل از شروع، بايد با مسائل زير را تا حدودى آشنا باشيد[/SIZE][/FONT]
    [FONT=Arial][SIZE=2]WWW و HTML و مسائل اوليه ساخت صفحات Web [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]يك زبان اسكريپت نويسى همچون JavaScript يا VBScript [/SIZE][/FONT]
    [FONT=Arial] [/FONT]
    [SIZE=2][FONT=Arial][B]ASP چيست؟[/B] [/FONT][/SIZE]
    [FONT=Arial][SIZE=2]ASP حروف اختصارى Active Server Pages است. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]ASP برنامه اى است كه درون IIS اجرا مى شود. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]IIS حروف اختصارى Internet Information Services است. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]IIS به عنوان يك مولفه رايگان با ويندوز 2000 عرضه مى شود. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]IIS همچنين به عنوان جزئى از Windows NT 4.0 Option Pack است. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]Option Pack مى تواند از سايت مايكروسافت داون لود شود. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]PWS نسخه كوچكتر - ولى كاملا عمل كننده - از IIS است. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]PWS را مى توانيد در سى دى ويندوز 95 يا 98 خود پيدا كنيد. [/SIZE][/FONT]
    [FONT=Arial] [/FONT]
    [SIZE=2][FONT=Arial][B]سازگارى ASP[/B] [/FONT][/SIZE]
    [FONT=Arial][SIZE=2]ASP تكنولوژى مايكروسافت است. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]براى اجراى IIS بايد ويندوز NT نسخه 4.0 يا بالاتر را داشته باشيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]براى اجراى PWS بايد ويندوز 95 يا بالاتر را داشته باشيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]ChiliASP تكنولوژى است كه ASP را بدون نياز سيستم عامل ويندوز اجرا مى كند. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]InstantASP تكنولوژى ديگرى است كه ASP را بدون نياز به سيستم عامل ويندوز اجرا مى كند. [/SIZE][/FONT]
    [SIZE=2][FONT=Arial][B]يك فايل ASP چيست؟[/B] [/FONT][/SIZE]
    [FONT=Arial][SIZE=2]يك فايل ASP تقريبا شبيه به يك فايل HTML است. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]يك فايل ASP مى تواند حاوى متن، XML، HTML، و اسكريپت باشد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]اسكريپت هاى درون يك فايل ASP بر روى Server اجرا مى شود. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]يك فايل ASP پسوند "asp." دارد. [/SIZE][/FONT]
    [SIZE=2][FONT=Arial][B]فرق ASP با HTML چيست؟[/B] [/FONT][/SIZE]
    [FONT=Arial][SIZE=2]وقتى كه Browser (كاوشگر اينترنت) درخواست يك فايل HTML را بكند، Server آن فايل را بر مى گرداند. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]وقتى كه Browser درخواست يك فايل ASP را بكند، IIS درخواست مربوطه را به موتور (هسته‌اى كه وظيفه اصلى را بازى مى كند) ASP ارجاع مى دهد. موتور ASP فايل ASP را خط به خط مى خواند، و اسكريپت هاى درون فايل را اجرا مى كند. در نهايت فايل ASP به عنوان يك فايل HTML ساده به Browser برگردانده مى شود. [/SIZE][/FONT]
    [FONT=Arial] [/FONT]
    [SIZE=2][FONT=Arial][B]ASP چه كارى مى تواند براى شما انجام دهد؟[/B] [/FONT][/SIZE]
    [FONT=Arial][SIZE=2]به طور ديناميكى محتويات يك Web page را ويرايش يا اضافه كند. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]به درخواست هاى كاربر كه از فرم هاى HTML ارسال شده اند پاسخ دهد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]به هر گونه اطلاعات با بانك اطلاعاتى دسترسى پيدا كرده و نتايج را به Browser برگرداند. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]سفارشى نمودن (Customize) يك Web page تا براى كاربران مختلف مفيدتر باشد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]مزاياى استفاده از ASP به جاى CGI و Perl سرعت و سادگى است. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]فراهم كردن امنيت بيشتر به گونه اى كه كد ASP شما از طريق Browser قابل مشاهده نيست. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]از آن جايى كه فايلهاى ASP به شكل HTML برگردانده مى شوند، ميتوانند بوسيله هر Browserى مشاهده گردند. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]برنامه نويسى درست ASP مى تواند ترافيك شبكه را به حداقل برساند. [/SIZE][/FONT]
    [FONT=Arial] [/FONT]

  3. #3
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180
    سپاس ها
    19
    سپاس شده 582 در 473 پست

    Post راه اندازي Asp

    [FONT=Arial][SIZE=2]شما مي توانيد ASP را بدون نياز به يک سرور خارجي اجرا کنيد. براي انجام اين کار شما بايد Microsoft's Personal Web Server (PWS) يا (Internet Information Server (IIS را در رايانه خود نصب کنيد.[/SIZE][/FONT]
    [FONT=Arial][SIZE=2][B]چگونه ASP را در رايانه خود اجرا کنيد؟[/B]
    شما مي توانيد ASP را بدون سرور خارجي در رايانه شخصي خود اجرا کنيد. براي انجام اين کار بايد Microsoft's (Personal Web Server (PWS يا (Internet Information Server (IIS را در رايانه خود نصب کنيد.
    اگر در مورد اجراي ASP جدي هستيد، بايد حداقل ويندوز 98، نسخه دوم (Second Edition) داشته باشيد.
    اگر در مورد اجراي ASP بسيار جدي هستيد، بايد از ويندوز 2000 استفاده کنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2] [B]چگونه PWS را در ويندوز 95 نصب کنيد و ASP اجرا کنيد؟[/B]
    (Personal Web Server (PWS همراه ويندوز 95 نيست!!
    براي اجراي ASP بر روي ويندوز 95، شما بايد "Windows NT 4.0 Option Pack" را از مايکروسافت داون لود کنيد.
    داون لود "Windows NT 4.0 Option Pack"[/SIZE][/FONT]
    [B][FONT=Arial][SIZE=2]چگونه PWS را در ويندوز NT نصب کنيد و ASP اجرا کنيد؟[/SIZE][/FONT][/B]
    [FONT=Arial][SIZE=2](Personal Web Server (PWS همراه ويندوز NT نيست!!
    براي اجراي ASP بر روي ويندوز 95، شما بايد "Windows NT 4.0 Option Pack" را از مايکروسافت داون لود کنيد.
    داون لود "Windows NT 4.0 Option Pack"[/SIZE][/FONT]
    [B][FONT=Arial][SIZE=2]چگونه PWS را در ويندوز 98 نصب کنيد و ASP اجرا کنيد؟[/SIZE][/FONT][/B]
    [FONT=Arial][SIZE=2]1.شاخه Add-ons را در سي دي ويندوز 98 خود باز کنيد، شاخه PWS را پيدا کرده و فايل setup.exe را اجرا کنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]2.يک شاخه Inetpub در هارد شما ايجاد خواهد شد. آن را باز کنيد و شاخه wwwroot را پيدا کنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]3.يک شاخه جديد درست کنيد و نام آن را چيزي شبيه به "MyWeb" بگذاريد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]4.از يک ويرايشگر متن استفاده کنيد و کدهاي ASPي را بنويسيد، فايل را به نام "test1.asp" را در شاخه "MyWeb" ضبط کنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]5. مطمئن شويد که وب سرور شما اجرا است - برنامه نصب يک آيکن جديد در Task Bar شما اضافه کرده است (اين نشانه PWS است). بر روي آن کليک کنيد و دکمه Start را در پنجره اي که آمده بزنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]6.Browser خود را باز کنيد و تايپ کنيد "[/SIZE][/FONT][URL="http://localhost/MyWeb/test1.asp"،"][FONT=Arial][SIZE=2][COLOR=#009cff]http://localhost/MyWeb/test1.asp"،[/COLOR][/SIZE][/FONT][/URL][FONT=Arial][SIZE=2] تا اولين صفحه ASP خود را ببينيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2][B]چگونه PWS را در ويندوز Me نصب کنيد و ASP اجرا کنيد؟[/B]
    (Personal Web Server (PWS در ويندوز Me وجود ندارد !!
    مقاله مربوطه را در سايت مايکروسافت بخوانيد[/SIZE][/FONT]
    [B][FONT=Arial][SIZE=2]چگونه IIS را در ويندوز 2000 نصب کنيد و ASP اجرا کنيد؟[/SIZE][/FONT][/B]
    [FONT=Arial][SIZE=2]1.از دکمه Start به Settings و سپس Control Panel برويد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]2.در پنجره Control Panel آيکن Add/Remove Programs را انتخاب کنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]3.در پنجره Add/Remove Programs گزينه Add/Removes Windows Components را انتخاب کنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]4.در پنجره جديد گزينه Internet Information Services را انتخاب کرده، OK را بزنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]5.يک شاخه Inetpub در هارد شما ايجاد خواهد شد. آن را باز کنيد و شاخه wwwroot را پيدا کنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]6.يک شاخه جديد درست کنيد و نام آن را چيزي شبيه به "MyWeb" بگذاريد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]7.از يک ويرايشگر متن استفاده کنيد و کدهاي ASPي را بنويسيد، فايل را به نام "test1.asp" را در شاخه "MyWeb" ضبط کنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]8.مطمئن شويد که وب سرور شما اجرا است - برنامه نصب يک آيکن جديد در Task Bar شما اضافه کرده است (اين نشانه IIS است). بر روي آن کليک کنيد و دکمه Start را در پنجره اي که آمده بزنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]9.Browser خود را باز کنيد و تايپ کنيد "[/SIZE][/FONT][URL="http://localhost/MyWeb/test1.asp"،"][FONT=Arial][SIZE=2][COLOR=#009cff]http://localhost/MyWeb/test1.asp"،[/COLOR][/SIZE][/FONT][/URL][FONT=Arial][SIZE=2] تا اولين صفحه ASP خود را ببينيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2][B]چگونه IIS را در ويندوز XP نصب کنيد و ASP اجرا کنيد؟[/B]
    [B]نکته:[/B] شما نمي توانيد ASP را روي ويندوز XP نسخه خانگي (Home Edition) اجرا کنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]1.از دکمه Start به Settings و سپس Control Panel برويد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]2.در پنجره Control Panel آيکن Add/Remove Programs را انتخاب کنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]3.در پنجره Add/Remove Programs گزينه Add/Removes Windows Components را انتخاب کنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]4. در پنجره جديد گزينه Internet Information Services را انتخاب کرده، OK را بزنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]5. يک شاخه Inetpub در هارد شما ايجاد خواهد شد. آن را باز کنيد و شاخه wwwroot را پيدا کنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]6. يک شاخه جديد درست کنيد و نام آن را چيزي شبيه به "MyWeb" بگذاريد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]7.از يک ويرايشگر متن استفاده کنيد و کدهاي ASPي را بنويسيد، فايل را به نام "test1.asp" را در شاخه "MyWeb" ضبط کنيد. [/SIZE][/FONT]
    [FONT=Arial][SIZE=2]8. مطمئن شويد که وب سرور شما اجرا است - برنامه نصب يک آيکن جديد در Task Bar شما اضافه کرده است (اين نشانه IIS است). بر روي آن کليک کنيد و دکمه Start را در پنجره اي که آمده بزنيد. [/SIZE][/FONT]

  4. #4
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180
    سپاس ها
    19
    سپاس شده 582 در 473 پست

    Post بجکت Response در ASP

    شما نمي توانيد سورس کد هاي ASP را بوسيله انتخاب گزينه View Source در Browser مشاهده کنيد، شما فقط خروجي فايل ASP را مشاهده مى‌کنيد که HTML ساده است. زيرا که اسکريپت ها قبل از اين که نتايج به Browser فرستاده شود بر روي سرور اجرا مى‌گردد.
    [B]قواعد اساسي نحو[/B]
    يک فايل ASP به طور عادي دقيقا همانند HTML حاوي Tagهاي HTML است. اگر چه، يک فايل ASP مي تواند همچنين حاوي Scriptها نيز باشد. اين اسکريپت ها به وسيله علامت هاي %> و <% احاطه شده اند. اسکريپت هاي سرور بر روي سرور اجرا مي شود و مي تواند حاوي هر گونه expressions، دستورات (Statements)، توابع، يا عملگرهايي باشد.
    [B]آبجکت Response[/B]
    متد Write مربوط به آبجکت Response براي فرستادن محتويات به Browser استفاده مي شود. به عنوان مثال، دستورات زير براي فرستادن متن "سلام دنيا!" به Browser استفاده مى‌شود.
    <%
    response.write("سلام دنيا!")
    %>
    [B] VBScript[/B]
    اين امکان وجود دارد که از که از زبان هاي مختلف اسکريپت نويسي در فايلهاي ASP استفاده کنيد. اگرچه زبان پيش فرض، VBScript است.
    <html>
    <body>
    <%
    response.write("سلام دنيا!") %>
    </body>
    </html>
    مثال بالا "سلام دنيا!" را در قسمت body متن مي نويسد.
    [B]JavaScript[/B]
    براي اين که JavaScript را به عنوان زبان پيش فرض براي يک صفحه خاص مشخص کنيد مي بايست از راهنماهاي زباني در ابتداي صفحه خود استفاده کنيد:
    <%@ language="javascript"%>
    <html>
    <body>
    <%
    Response.Write("Hello World!")
    %>
    </body>
    </html>
    [B]نکته:[/B] JavaScript برعکس VBScript به بزرگ يا کوچک بودن حروف حساس است. شما مجبور خواهيد بود که وقتي زبان احتياج دارد، کد ASP خود را با حروف بزرگ يا کوچک بنويسيد.

    [B]ساير زبان هاي اسکريپ نويسي[/B]
    ASP همراه با VBScript و JScript (پياده سازي مايکروسافت از JavaScript) عرضه مي شود. اگر شما مي خواهيد که با زبان ديگري همچون PERL - REXX يا Phyton کد بنويسيد، مجبور خواهيد بود که موتور Script مربوط به آنها را نصب کنيد.
    [B]مهم:[/B] به خاطر اين که اسکريپت ها بر روي سرور اجرا مي شوند، به هيچ وجه لازم نيست Browserي که فايل ASP را نشان مي دهد از Scripting پشتيباني کند!

  5. #5
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180
    سپاس ها
    19
    سپاس شده 582 در 473 پست

    Post طرز ساخت کوکي ها

    يك Cookie اغلب براى شناسائى كاربر استفاده مى‌شود.
    مثالها
    Cookie خوش‌آمدگويى
    چگونه يك Cookie خوش‌آمدگويى درست كنيم.
    [B]يك Cookie چيست؟[/B]
    يك Cookie اغلب براى شناسندن كاربر استفاده مى‌شود. يك Cookie يك فايل كوچك است كه سرور آن را در كامپيوتر كاربر جاسازى مى‌كند. هر بار كه همان كامپيوتر يك صفحه را درخواست مى‌كند، Cookie نيز فرستاده مى‌شود. با ASP شما مى‌توانيد هم مقادير Cookie را بسازيد و هم آنها را استخراج نماييد.
    چگونه يك Cookie بسازيد؟
    Response.Cookie براى ساختن Cookie استفاده مى‌شود.
    [B]توجه:[/B] Response.Cookie بايد قبل از تگ درج شود.
    در مثال زير، ما يك Cookie درست خواهيد كردم و اسم آن را "firstname" مى‌گذاريم و مقدار "Alex" را به آن مى‌دهيم:
    همچنين امكان دارد كه خصوصياتى را مثل تاريخ انقضاى cookie را به آن بدهيد:

    چگونه مقدار cookieها را استخراج كنيم
    دستور "Request.Cookies" براى استخراج اطلاعات از cookieها استفاده مى‌شود.
    در مثال زير، ما مقدار cookieى با نام "firstname" را استخراج كرده و در صفحه نشان داديم:

    خروجى:
    Firstname=Alex

    [B]يك Cookie با كليد[/B]
    اگر يك cookie حاوى مجموعه‌اى از مقادير باشد، مى‌گوييم آن cookie دارى كليدهايى است.
    در مثال زير، ما يك مجموعه cookie با نام "user" درست مى‌كنيم. cookie به نام "user" داراى كليدهايى است كه حاوى اطلاعاتى راجع به كاربر است.
    <%
    Response.Cookies("user")("firstname")="John"
    Response.Cookies("user")("lastname")="Smith"
    Response.Cookies("user")("country")="Norway"
    Response.Cookies("user")("age")="25"
    %>
    خواندن همه Cookieهابه كد زير نگاه كنيد:
    <%
    Response.Cookies("firstname")="Alex"
    Response.Cookies("user")("firstname")="John"
    Response.Cookies("user")("lastname")="Smith"
    Response.Cookies("user")("country")="Norway"
    Response.Cookies("user")("age")="25"
    %>

    فرض كنيم كه سرور شما همه cookieهاى بالا را به كاربر فرستاده است.
    حالا ما مى‌خواهيم تمام cookieها را كه به كاربر فرستاده شده است را بخوانيم. مثال زير نشان مى‌دهد كه چگونه اين كار را انجام دهيم (توجه داشته باشيد كه در مثال پايين با استفاده از HasKeys چك مى‌كند كه آيا cookie كليد دارد يا نه؟


    <%
    dim x,y
    for each x in Request.Cookies
    response.write("")
    if Request.Cookies(x).HasKeys then
    for each y in Request.Cookies(x)
    response.write(x & ":" & y & "=" & Request.Cookies(x)(y))
    response.write("
    ")
    next
    else
    Response.Write(x & "=" & Request.Cookies(x) & "
    ")
    end if
    response.write "
    "
    next
    %>



    خروجى:
    firstname=Alex user:firstname=John user:lastname=Smith user: country=Norway user: age=25

    [B]اگر Browser داراى پشتيبانى Cookie نباشد چه اتفاقي مى‌افتد؟[/B]
    اگر برنامه شما با Browserى سر و كار داشته باشد كه cookie را پشتيبانى نمى‌كند، بايد از روش‌هاى ديگرى براى انتقال اطلاعات از يك صفحه به صفحات ديگر در برنامه خود استفاده كنيد. دو راه براى انجام اين كار هست:
    [B]1. اضافه كردن پارامترها به URL[/B]
    شما مى‌توانيد پارامترها را به URL اضافه كنيد:
    [URL="http://senatorha.com/forum/welcome.asp?fname=John&lname=Smith"]
    Go to Welcome Page[/URL]

    و مقادير موجود در "welcome.asp" را همچون مثال زير استخراج كنيد:
    [B]2. استفاده از form[/B]
    شما مى‌توانيد از فرم‌ها استفاده كنيد. وقتى كه كاربر روى دكمه Submit كليك كند فرم ورودى‌هاى كاربر را به "welcome.asp" رد مى‌كند:
    <FORM action=welcome.asp method=post>
    First Name: <INPUT name=fname>
    Last Name: <INPUT name=lname>
    <INPUT type=submit value=Submit>
    </FORM>

    مقادير موجود در "welcome.asp" را همچون اين مثال استخراج كنيد:
    <%
    fname=Request .form("fname")
    lname=Request .form("lname")
    response .write("Hello " & fname & " " & lname & "!
    ")
    response .write("Welcome to my Web site!
    ")
    %>

  6. #6
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180
    سپاس ها
    19
    سپاس شده 582 در 473 پست

    Post فرم ها در Asp

    مثالها
    [B]يك فرم با متد "get"
    [/B]چگونه با استفاده از دستور Request.QueryString به كاربر عكس‌العمل نشان دهيد.
    [B]يك فرم با متد "post"[/B]
    چگونه با استفاده از دستور Request.Form به كاربر عكس‌العمل نشان دهيد.
    [B]يك فرم با Radio Buttonها[/B]
    چگونه با استفاده از دستور Request.Form و از طريق Radio Buttonها به كاربر عكس‌العمل نشان دهيد.

    [B]ورودى كاربر[/B]
    آبجكت Request مى‌تواند براى گرفتن اطلاعات از كاربر از فرم‌ها استفاده گردد.
    <form method="get" action="simpleform.asp">
    First Name: <input type="text" name="fname">
    <br />
    Last Name: <input type="text" name="lname">
    <br /><br />
    <input type="submit" value="Submit">
    </form>

    ورودى‌هاى كاربر مى‌توانند از دو طريق استفاده گردد: با Request.QueryString يا Request.Form

    [B]Request.QueryString[/B]
    دستور Request.QueryString براى جمع كردن مقادير موجود در يك فرم با متد "get" استفاده مي شود. اطلاعات فرستاده شده از فرمى با متد "get" براي هر كسى قابل مشاده است (اين اطلاعات در قسمت آدرس Browser نشان داده مي شود) و در مورد مقدار اطلاعات محدوديت دارد.
    اگر كاربر در فرمى با متد "get" مقدار "Bill" و "Gates" را وارد كنيد، URLى كه به سرور فرستاده مى‌شود شبيه به اين خواهد بود:
    [URL="http://www.irandevelopers.com/simpleform.asp?fname=Bill&lname=Gates"][COLOR=#009cff]http://www.irandevelopers.com/simpleform.asp?fname=Bill&lname=Gates[/COLOR][/URL]

    فرض كنيد فايل "simpleform.asp" حاوى اسكريپت زير است:
    <body>
    Welcome
    <%
    response.write(request.querystring("fname"))
    response.write(" " & request.querystring("lname"))
    %>
    </body>

    Browser خط زير در قسمت Body سند نشان خواهد داد:
    Welcome Bill Gates
    Request.Form

    دستور Request.Form براي جمع كردن اطلاعات از يك فرم با متد "post" استفاده مى‌شود. اطلاعات فرستاده شده از فرمى با متد POST براي بقيه غيرقابل مشاهده است و هيچ محدوديتى در مقدار اطلاعات فرستاده شده ندارد.
    اگر كاربر در فرمى با متد "post" كلمه "Bill" و "Gates" را تايپ كند، URLى كه به سرور فرستاده مى‌شود شبيه به اين خواهد بود:
    [URL="http://www.w3schools.com/simpleform.asp"][COLOR=#009cff]http://www.w3schools.com/simpleform.asp[/COLOR][/URL]

    فرض كنيد كه فايل "simpleform.asp" حاوى اسكريپت زير باشد:
    <body>
    Welcome
    <%
    response.write(request.form("fname"))
    response.write(" " & request.form("lname"))
    %>
    </body>

    Browser خط زير در قسمت Body سند نشان خواهد داد:
    Welcome Bill Gates

    [B]تصديق فرم يا تست معتبر بودن (درست بودن) مقادير ورودى[/B]
    ورودى كاربر بايد در Browser در هر جايى كه امكان داشت (با استفاده از اسكريپتهاى client) تصديق گردد. تصديق Browserى سريعتر است و زمان load شدن سرور را نيز كاهش مى‌دهد
    در صورتى كه مقادير ورودى كاربر وارد Database مى‌شود لازم است كه معتبرسازى يا تصديق ورودى‌هاى كاربر بر روى سرور انجام شود. يك راه خوب براى تصديق ورودى‌هاى كاربر، به جاى فرستادن اطلاعات به يك صفحه ديگر، پست كردن آنها به خود فايل است. در آن صورت كاربر مى‌تواند خطاها را در خود صفحه‌اى كه فرم در آن قرار دارد مشاهده نمايد. اين پيدا كردن خطا را براى وى ساده‌تر مى‌كند.

  7. کاربر روبرو از پست مفید B@RBOD سپاس کرده است .


  8. #7
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180
    سپاس ها
    19
    سپاس شده 582 در 473 پست

    Post برنامه کاربردي تحت وب چيست ؟

    يك برنامه كاربردي تحت وب بايك وب سايت تفاوت دارد . يك وب سايت شامل اطلاعات ثابتي است كه از پيش آماده شده و به صورت فايل هاي HTML ذخيره شده اند .در اين حالت جهت حركت اطلاعات از سرويس دهنده به
    سرويس گيرنده مي باشد . در واقع وب سايت اطلاعات را به كاربر ارائه مي دهد .
    بين درخواست ها ، سرويس دهنده از عملكرد سرويس گيرنده اطلاعي ندارد . سرويس گيرنده مي تواند از يك محل به محل ديگر بپرد و اين كار روي وب سايت اوليه هيچ تاثيري ندارد ، چون هر يك از صفحات به صورت يك واحد كاملا جدا مي باشند . در واقع وب سايت شامل گروهي از فايل هاي HTML از هم جدا مي باشد .
    در مقابل ، يك برنامه كاربردي تحت وب ، اطلاعات را براي يك كاربر يا گروهي از كاربران به شكلي خاص فرمت كرده و ارائه مي دهد . در اين حالت ، جهت حركت اطلاعات دو طرفه مي باشد ؛ محتوياتي كه توسط مرور گر نمايش داده مي شوند ، بر حسب اطلاعات ورودي كاربر يا هويت وي تعيين مي گردند .
    بنابر اين يك برناها كاربردي تحت وب ، اطلاعات را به صورت ديناميكي ارائه مي دهد نه به صورت فايل هاي HTML ثابت . در واقع وظيفه برنامه ، فراهم كردن اطلاعات بر حسب شرايط است كه اين اطلاعات معمولا از پايگاه داده ( Database ) بدست مي آيد . برنامه كاربردي نه تنها اطلاعات مي دهد ، بلكه مي تواند از كاربر اطلاعات بگيرد و بكارهاي مختلف پاسخ مناسب دهد . به عبارت ديگر ، يك برنامه كاربردي ، عملكرد كاربر را از يك در خواست به درخواست ديگر رديابي مي كند . بنابراين كاربر مي تواند آن گونه كه در يك وب سايت به جستجو و گردش مي پردازد ، به شكل دلخواه تمام صفحات يك برنامه كاربردي را برسي و مشاهده كند . بلكه اين برنامه كاربردي است كه صفحات مناسب را در شرايط مقتضي به طور ديناميكي توليد كرده و به كاربر ارائه مي دهد .
    براي نوشتن برنامه هاي كاربردي تحت وب از زبان هاي مختلفي مي توان استفاده كرد ، مثل : Perl , Python , Java , C , C ++ , Visual Basic حتي Quick Basic يا Script هاي Unix .
    در هر صورت مواردي كه در زير به آنها اشاره مي شود جزء ضروريات يك برنامه كاربردي هستند :
    - ارتباط با يك پايگاه داده
    - سرعت
    - كار با رشته ها
    - امنيت ( Security )
    - تراكنش ها ( Tranaactions )
    [B]تراكنش چيست ؟[/B]
    يك برنامه كاربردي تحت وب اغلب بايد كارهاي مختلفي انجام دهد كه هر يك از آنها براي تداوم اعتبار اطلاعات بايد به طور كامل انجام شوند . هنگام كار با يك پايگاه داده ، معمولا اين كار ها را بصورت يك تراكنش در نظر مي گيريم . يك تراكنش قرار دادي است كه موفقيت يا عدم موفقيت مجموعه اي از عمليات را تضمين مي كند كه در صورت عدم موفقيت ، اطلاعات بايد دست نخورده باقي بمانند . به عنوان يك نمونه كلاسيك ، مي توانيم يك حساب چك ( Checking Account ) را در نظر بگيريم .
    هنگامي كه يك چك را به حساب خود مي گذاريد ، بانك مبلغ مشخص شده را از حساب مربوطه برداشته و به حساب شما واريز مي كند . كل اين عمليات در صورتي موفقيت آميز خواهد بود كه برداشت و واريز پول به طور كامل انجام شود . در اين حالت عمل دو گانه برداشت از يك حساب و واريز به يك حساب ديگر را يك تراكنش مي گوييم .
    [B]تفاوت ميان برنامه هاي IIS و DHTML[/B]
    برنامه هاي IIS ، برنامه هايي هستند كه برروي سرويس دهنده و تحت Microsoft Internet Information Server اجرا مي شوند . در مقابل ، برنامه هاي DHTML برنامه Microsoft Internet Explorer استفاده مي كنند و به اين ترتيب به ورودي هاي كاربر پاسخ سريع مي دهند .
    اين برنامه ها براي نوشتن بازي ها و شبيه سازي محيط و گرفتن اطلاعات از كاربر مناسب هستند . متاسفانه اين نوع برنامه ها به نسخه چهارم IE يا نسخه هاي بالاتر آن نياز دارند . با توجه به اين كه در اين كتاب به تفصيل در مورد ASP و مسائل حاشيه اي آن بحث خواهيم كرد ، بد نيست كمي بيشتر در مورد برنامه هاي IIS توضيح دهيم . چون هدف از يادگيري ASP ، نوشتن برنامه هاي IIS مي باشد كه بر روي سرويس دهنده اجرا مي شوند .
    برنامه هاي IIS با چندين مرورگر مختلف و نسخه هاي متفاوت آنها سازگاري دارند . همچنين در محيط هاي مختلف Mak يا Unix نيز اجراء مي شوند . بنابر اين اين نوع برنامه ها براي نوشتن برنامه هاي تجاري كه مخاطبين زيادي دارند مناسب هستند ؛ چون دليلي ندارد همه كاربران از ويندوز استفاده كرده و يا نسخه IE را در اختيار داشته باشند.
    با توجه به اين كه برنامه هاي IIS برروي سرويس دهنده اجرا مي شوند ، براي به روز در آوردن آنها تنها كافي است كد موجود برروي سرويس دهنده را تغيير داد. اين نوع برنامه ها از هر محلي قابل دسترسي مي باشند . هنگامي كه يك برنامه IIS برروي سرويس دهنده نصب شده و به اجرا در آمد ، هر كامپيوتري كه بتواند به آن سرويس دهنده متصل شود مي تواند از آن برنامه استفاده كند .
    شما مي توانيد براي شناسايي كاربران ، به آنها نام و كلمه عبور اختصاص دهيد و هنگام برقراري ارتباط با برنامه كاربردي ، نام و كلمه عبور را در خواست كنيد . با توجه به اين كه تمام اطلاعات بر روي يك كامپيوتر ذخيره مي شوند ، هنگامي كه كاربر برنامه كاربردي را ترك كند ، هيچ نوع اطلاعاتي را از دست نمي دهد .
    در قسمت بعد ، در مورد چگونگي كاركرد برنامه هاي IIS بحث خواهيم كرد .
    [B]چگونگي در خواست فايل ها توسط مرورگر :[/B]
    هنگامي كه شما يك آدرس URL در فيلد آدرس مرورگر خود تايپ مي كنيد ، چند چيز اتفاق مي افتد . مرورگر ، آدرس وارد شده را تحليل كرده و پيغامي به سرويس دهنده نام ( Name Server ) مي فرستد تا نام مشخص شده (به عنوان مثال ، Microsoft . com ) را به يك آدرس IP ( Internet Protocol ) – (به عنوان مثال ، 207.84.25.32 ) ترجمه كند . سپس مرورگر با استفاده از آن آدرس IP به سرويس دهنده مربوطه متصل شده و فايل را درخواست مي كند . سرويس دهنده فايل را مي خواند و محتويات آن را به مرورگر بر مي گرداند . در اين مرحله مرورگر ، دستورات HTML آن فايل را تحليل و فرمت فايل راتعيين مي كند . بيشتر فايل هاي HTML درون خود به تصاوير گرافيكي اشاره مي كنند. اين اشاره ها به صورت رفرنس (Reference ) بوده كه هريك از آنها نيز بايك آدرس URL مشخص مي شوند .
    بنابراين كل اين عمليات براي تك تك تصاوير و يا فايل هاي ديگري كه با رفرنس به آنها اشاره شده است تكرار مي شود.
    به اين ترتيب پروسه نمايش يك فايل HTML شامل تعدادي تراكنش كوچك بين سرويس گيرنده ( يعني مرورگر ) و سرويس دهنده وب مي باشد .
    برنامه هاي IIS نيز تقريبا به همين صورت عمل مي كنند. ابتدا يك مرورگر يك صفحه را از سرويس دهنده درخواست مي كند . اين درخواست هميشه براي يك فايل خاص مي باشد . پاسخ سرويس دهنده به نوع فايل درخواستي بستگي دارد. اگر فايل مورد نظر از نوع HTML (با پسوند .htm يا .html ) باشد ، سرويس دهنده به سادگي محتويات فايل را مي خواند و محتويات آنرا به صورت يك رشته در آورده و براساس قوانين URL كد گذاري مي كند و سپس رشته حاصله را به مرورگر برمي گرداند . كل اين پروسه ، از درخواست تا پاسخ ، يك تراكنش مابين سرويس گيرنده و سرويس دهنده تلقي مي شود . سرويس گيرنده همواره تراكنش را شروع مي كند و سپس تا زمان رسيدن پاسخ از سوي سرويس دهنده منتظر مي ماند كه در اين زمان تراكنش كامل شده و خاتمه مي يابد .
    درخواست فايل از سرويس دهنده وب مشابه هنگامي است كه در Windows Explorer روي يك فايل شبكه اي ( فايلي كه برروي كامپيوتر سرويس دهنده قرار دارد ) دوبار – كليك مي كنيد ؛ البته با دو تفاوت :

    - سرويس دهنده وب هيچگاه اجازه نمي دهد كه برنامه محلي شما (يعني مرورگر ) فايل درخواستي را باز كرده يا درآن چيزي بنويسيد ؛ در عوض خودش فايل را باز مي كند و محتويات آن را برميگرداند .
    - ارتباط مابين سرويس گيرنده و سرويس دهنده گذرا ( Transient ) است . براي برقراري ارتباط با سرويس دهنده وب نيازي به مشخص كردن نام درايوي كه فايل بر روي آن قرار دارد نيست . پس از اين كه سرويس دهنده وب به درخواست شما پاسخ داد، ارتباط را قطع مي كند.
    هنگامي كه تراكنش كامل شد ، سرويس دهنده وب ، سرويس گيرنده را به طور كلي از ياد مي برد . اگر بلا فاصله كليد Refresh ( موجود برروي نوار ابزار IE ) را كليك كنيد . سرويس دهنده وب ، آن تراكنش را تكرار مي كند و اصلا به خاطر نمي آورد كه 5 ثانيه قبل اين فايل توسط شما درخواست شده است .
    اگر ارتباط براساس پروتكل استاندارد HTTP برقرارشود ، بيشتر فايل ها به چندين تراكنش نياز دارند ، يكي براي فايل Html اصلي و بقيه براي يكايك فايل هاي گرافيكي كه در فايل اصلي به آنها اشاره شده است . بنابراين براي نمايش يك فايل كه شامل 5 تصوير گرافيكي است ، مرورگر درخواست جداگانه به سرويس دهنده وب مي فرستد .

  9. کاربر روبرو از پست مفید B@RBOD سپاس کرده است .


  10. #8
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180
    سپاس ها
    19
    سپاس شده 582 در 473 پست

    Post شي RESPONSE و استفاده از فايل هاي include

    براي پاسخ گويي به مرورگر ، از متدهاي شيء Response استفاده مي شود . در واقع شيء Response راهي براي برقراري ارتباط با سرويس گيرنده است .
    [B]شيء Scripting Context :[/B]
    اين شيء امكان دسترسي اشياء ActiveX خارجي به اشياء دروني ASP را فراهم مي كند. البته بهتر است به جاي اين شيء از شيء Object Context استفاده كنيد . براي گرفتن شيء Object Context نيز بايد متد Object Context() را فراخواني كنيد .
    شيء Scripting Context ، تمام اشياء ASP را درون خود جمع مي كند . هنگامي كه يك صفحه ASPكه شامل رفرنس هايي به اشياء ActiveX مي باشد اجراء ميشود ، ابتدا موتور ASP متد On Start Page هر يك از آن اشياء ActiveX را فراخواني كرده و شيء Scripting Context را به عنوان پارامتر به آن مي فرستد. اشياء ActiveX با استفاده از اين پارامتر مي توانند اشاره گر هايي به اشياء Server ، Application ، Request و Response به دست آورند. در اين جا ليستي از ويژگي هاي شيء Scripting Context را ملاحظه مي كنيد :
    • Server
    • Application
    • Session
    • Request
    • Response
    هر يك از اين 5 ويژگي يك اشاره گر ( Pointer ) به يكي از اشياء دروني ASP بر مي گردانند .
    • توجه : Microsoft توصيه مي كند كه به جاي استفاده از شيء Scripting Context از متد
    get Object Context اگر چه امكان استفاده از شيء Scripting Context كماكان وجود دارد، ولي بايد بدانيد كه اين شيء از رده خارج شده و در برنامه هاي جديد خود نبايد از آن استفاده كنيد .
    [B]شيء Object Context :[/B]
    شيء Object Context به عنوان پل ارتباطي با MTS ( Microsoft Transaction Server ) تلقي مي شود. با MTS شما مي توانيد كاري كنيد كه اشياء ActiveX در تراكنش هايي كه صفحه ASP آغاز شده اند شركت كنند. همچنين با استفاده از شيء Object Context در هنگام نوشتن اشياء ActiveX مي توانيد به اشياء دروني ASP دسترسي پيدا كنيد .
    [B]آشنايي با ساختار يك برنامه ASP[/B]
    از نظر موتور ASP ، يك برنامه كاربردي عبارت است از مجموعه اي از تمام فايل و زير دايركتوري هاي ( Subdirectory ) موجود در يك دايركتوري كه شامل فايل Global . asa باشد . بيشتر برنامه هاي كاربردي ASP شامل فايل هاي ASP و فايل هاي Include ( با پسوند .inc ) هستند كه هر دوي آنها مي توانند تركيبي از HTML ، كد و فايل هاي گرافيكي باشند. البته شما مي توانيد فايل هاي ASP را با فايل هاي HTML يا هر فايل ديگري كه براي سرويس دهنده قابل شناسايي باشد تركيب كنيد .

    بالاترين دايركتوري در اين ساختار شامل فايل Global . asa است . اين فايل دايركتوري ريشه ( Root Directory )
    برنامه كاربردي را مشخص مي كند .
    اولين باري كه يك كاربر يكي از فايل هاي ASP موجود در يكي از دايركتوري هاي برنامه را درخواست مي كند ، موتور ASP ساختار درختي درختي دايركتوري ها را به سمت بالا طي ميكند تا فايل Global . asa را پيدا كند و يا به ريشه وب ( Root Web Directory ) برسد . اين نكته از اهميت زيادي برخوردار است ، چون اگر شما چند برنامه كاربردي را درون هم قرار دهيد ( كه به آنها برنامه هاي كاربردي تودرتو – Nested Applications - مي گويند ) ، فايل Global . asa كه براي هر درخواست كاربر اجرا مي شود بستگي دارد به اين كه كاربر ابتدا كدام فايل را درخواست نمايد . چون نمي توان اولين درخواست كاربر را كنترل نمود ، بهتر است برنامه هاي ASP را درون هم قرار ندهيد ؛ مگر اين كه دليل موجهي براي اين كار داشته باشيد .
    [B]ساختن يك برنامه كاربردي وب تحت IIS 4.0 به يك مرحله ديگر نيز دارد :[/B] شما بايد به IIS بگوييد كه دايركتوري مجازي ( Virtual Directory ) در برگيرنده فايل Global . asa ، دايركتوري ريشه برنامه كاربردي است .
    صرف نظر از اين كه كدام فايل درخواست شود، فايل Global . asa همواره اولين فايلي خواهد بود كه اجرا ميشود. بنابراين اگر در نظر داريد كاربر برنامه كاربردي شما را با صفحه خاصي كه مورد نظر شماست آغاز كند ، اين فايل بهترين جايي است كه ميتوانيد مرورگر را به آن صفحه هدايت كنيد .
    برنامه كاربردي كه درشكل قبل ملاحظه فرموديد ، شامل چندين فايل ASP و دو زيردايركتوري به نام هاي images و include مي باشد. البته از نظر تعيين ساختار دايركتوري هاي يك برنامه كاربردي هيچ محدوديتي وجود ندارد ؛ شما مي توانيد همه فايل ها را درون يك دايركتوري قرار دهيد . ولي در عمل ، بهتر است كه فايل ها را بر اساس كارايي آنها دسته بندي كنيد چون اين كار ساختن و نگهداري برنامه را بسيار آسان تر مي كند .
    [B]• توجه :[/B] دايركتوري ريشه وب و دايركتوري ريشه برنامه ASP لزوما نبايد يكسان باشند. به عنوان مثال ،
    مي توانيد براي چندبرنامه كاربردي ASP ازيك فايل Global . asa استفاده كنيد. در اين شرايط مي توانيد فايل Global . asa را درون يك دايركتوري قرار داده و سپس هر يك از زير دايركتوري هاي درون آن را به عنوان يك دايركتوري مجازي تعريف كنيد كه بر اساس برنامه كاربردي مربوطه نامگذاري شده اند . ساختار دايركتوري موجود در شكل زير ، شامل 4 برنامه كاربردي است : 401k ، Paycheck ، Retirement ، Timesheet .

    بالاترين دايركتوري ، كه HR Applications نام دارد، شامل فايل Global . asa است . هر زمان كه يك كاربر به يكي از 4 برنامه كاربردي موجود متصل شود ، موتور ASP ساختار درختي دايركتوري هارا بالا مي رود تا به دايركتوري
    HR Applications كه در بر گيرنده فايل كه Global . asa است برسد . يكي از دلايلي كه مي توان براي مرتب كردن برنامه ها به اين شكل در نظر گرفت ، اين است كه ممكن است هر چهار برنامه از يك روش امنيتي استفاده كنند و يا ممكن است تمام برنامه ها از يك نوع روش براي برقراي ارتباط با پايگاه داده و يا از يك پايگاه داده مشترك استفاده كنند و شما بخواهيد اطلاعات اوليه را در فايل Global . asa تنظيم كنيد .
    [B]استفاده از فايل هاي Include :
    [/B]براي جلوگيري از تكرار كد يا دستورات HTML در صفحات ASP ، مي توانيد از فايل هاي خارجي استفاده كرده و آنها را در صفحات ASP خود بگنجانيد . يك فايل Include در يك فايل ASP از دستور INCLUDE استفاده مي شود . دستور INCLUDE مشابه اين است كه محتويات فايل include مورد نظر را درون يك صفحه ديگر قرار دهيد.در اين جا مثالي از يك دستور INCLUDE را مشاهده مي كنيد :
    <!--# INCLUDE = “C:\ include \my Include .inc” -- >

    اين دستور سبب مي شود كه سرويس دهنده آن را با محتويات فايل مشخص شده جايگزين كند. دو نوع دستور INCLUDE موجود است : يكي # INCLUDE FILE و ديگري # INCLUDE VIRTUAL . نوع اول براي مشخص كردن فايل به يك آدرس فيزيكي نياز دارد در حالي كه نوع دوم به آدرس مجازي به فايل اشاره مي كند . به هر حال از هر روشي كه استفاده كنيد، موتور ASP قبل از شروع پردازش دستورات ، آن را با محتويات فايل مورد نظر جايگزين مي كند . بنابر اين براي گنجانيدن يك فايل نمي توانيد از دستورات شرطي استفاده كنيد . به عنوان مثال ، كد زير به گونهاي كه انتظار مي رود عمل نخواهد كرد ؛ موتور ASP هر دو فايل را خواهد گنجاند :
    < %
    if my Var = True than
    % >
    < ! -- # INCLUDE FILE = “ C: \ include \ my Include . inc” -- >
    < %
    else
    %>
    < ! -- # INCLUDE FILE = “ C: \ include \ your Include . inc” -- >
    < %
    end if
    % >
    هنگامي كه موتور ASP اين فايل را تحليل مي كند ، دو دستور INCLUDE را با فايل هاي نامبرده جايگزين مي كند و اين كار را قبل از اجراي دستور if…end if انجام مي دهد . پس باز هم تاكيد مي كنم : شما با استفاده از كد نمي توانيد براي موتور ASP تعيين كنيد كه كدام فايل را بگنجاند و يا اين كه اصلا يك فايل را بگنجاند يا خير.

  11. کاربر روبرو از پست مفید B@RBOD سپاس کرده است .


  12. #9
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180
    سپاس ها
    19
    سپاس شده 582 در 473 پست

    Post فرستادن فايل يا Upload از صفحه وب

    طريق صفحه وب[FONT=Tahoma] ( [/FONT][FONT=Tahoma]Upload[/FONT][FONT=Tahoma] ) [/FONT][FONT=Tahoma]به يك سرويس دهنده مي پردازيم[/FONT][FONT=Tahoma] . [/FONT][FONT=Tahoma]اين كدها از مجموعه موجود در سايت[/FONT][FONT=Tahoma] گرفته شده اند .[/FONT][FONT=Tahoma]در ابتدا بايد هر دو فايل زير را بسازيد :[/FONT][FONT=Tahoma]ffice:office" /><O:p></O:p>[/FONT]
    [B][FONT=Tahoma]upload_page.asp[/FONT][/B][B][FONT=Tahoma] :[/FONT][/B][FONT=Tahoma]<O:p></O:p>[/FONT]

    [CENTER]<CODE>[FONT=Tahoma]<TEXTAREA name=S1 rows=7 cols=50><!-- #include file="upload_class.asp" --><%Server.ScriptTimeout = 300 'now i can upload and save files upto ~8MbDim intLevel, intUpload, intSave, strError, strContenType, strFilename, lngFileSizeDim objUploadDim lngTime, lngUploadTime, lngSaveTimeintLevel = Request.QueryString("level")'--------------------------------------wrHeadIf intLevel = 1 Then&nbsp;&nbsp;&nbsp;&nbsp;Set objUpload = New FileUpload&nbsp;&nbsp;&nbsp;&nbsp;With objUpload&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Path = "D:\Inetpub\wwwroot\test"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lngTime = Timer()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;intUpload = .Upload&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lngUploadTime = Round((Timer() - lngTime) * 1000,3)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lngTime = Timer()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;intSave = .Save(true)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lngSaveTime = Round((Timer() - lngTime) * 1000,3)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strError = .Error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strFilename = .Filename&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lngFilesize = .Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strContentType= .ContentType&nbsp;&nbsp;&nbsp;&nbsp;End With&nbsp;&nbsp;&nbsp;&nbsp;Set objUpload = NothingEnd IfwrFormwr "<hr style=""height:1px;width:100%;"" />"wr "Upload = " &amp; intUpload &amp; "<br />"wr "Save = " &amp; intSave &amp; "<br />"wr "Error = " &amp; strError &amp; "<br />"wr "Filename = " &amp; strFilename &amp; "<br />"wr "Filesize = " &amp; lngFilesize &amp; "<br />"wr "Content-Type = " &amp; strContentType &amp; "<br />"wr "Upload time = " &amp; lngUploadTime &amp; " ms<br />"wr "Save time = " &amp; lngSaveTime &amp; " ms <br />"wr "<hr style=""height:1px;width:100%;"" />"wrFoot'--------------------------------------Sub wrForm&nbsp;&nbsp;&nbsp;&nbsp;wr "<form method=""post"" enctype=""multipart/form-data"" action=""?level=1"">"&nbsp;&nbsp;&nbsp;&nbsp;wr "<input type=""file"" name=""file""></input>"&nbsp;&nbsp;&nbsp;&nbsp;wr "<input type=""submit""></input>"&nbsp;&nbsp;&nbsp;&nbsp;wr "</form>"End SubSub wrHead&nbsp;&nbsp;&nbsp;&nbsp;wr "<html>"&nbsp;&nbsp;&nbsp;&nbsp;wr "<head>"&nbsp;&nbsp;&nbsp;&nbsp;wr "<title>upload</title>"&nbsp;&nbsp;&nbsp;&nbsp;wr "</head>"&nbsp;&nbsp;&nbsp;&nbsp;wr "<body>"End SubSub wrFoot&nbsp;&nbsp;&nbsp;&nbsp;wr "</body>"&nbsp;&nbsp;&nbsp;&nbsp;wr "</html>"&nbsp;&nbsp;&nbsp;&nbsp;Response.EndEnd SubSub wr(byval sText)&nbsp;&nbsp;&nbsp;&nbsp;If sText <> "" Then Response.Write sText &amp; vbNewLineEnd Sub%></TEXTAREA>[/FONT]</CODE>[FONT=Tahoma]<O:p></O:p>[/FONT][/CENTER]

    [B][FONT=Tahoma]upload_class.asp :[/FONT][/B][FONT=Tahoma]<O:p></O:p>[/FONT]

    [CENTER]<CODE>[FONT=Tahoma]<TEXTAREA name=S2 rows=7 cols=50><%'+--------------------------------+'|Class:&nbsp;&nbsp;&nbsp;&nbsp;FileUpload&nbsp;&nbsp;&nbsp;&nbsp; |'|Date:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;11:01 PM 7/23/2002|'|By:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;M.Meijer&nbsp;&nbsp;&nbsp;&nbsp; |'|Version:&nbsp;&nbsp;&nbsp;&nbsp;1.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |'+--------------------------------+''To upload and save a file submitted within a html form''**Remarks:'Uploading files with this class is not recommended for huge files, 'it takes alot of time saving the file to a textstream (as it the function 'save' does).'It takes 7.812ms to upload a file from 'localhost', with a size of 40,000 bytes.'Saving this file however costs 1078.125ms, and it takes 145828.1ms to save a file of 5.5Mb.'Conclusion don't save big files, use the maxfilesize property to limit the filesize.'The class can only handly one file on a submission.'The file will be saved in the specified 'Path', if there is no 'path' set, it can't save the file. (doh!)''Properties:'-----------'&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;read&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Content-Type of the file'&nbsp;&nbsp;&nbsp;&nbsp;Filename&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;read/write&nbsp;&nbsp;&nbsp;&nbsp;Name of the file'&nbsp;&nbsp;&nbsp;&nbsp;Path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;read/write&nbsp;&nbsp;&nbsp;&nbsp;A path to a directory with permissions to write the file'&nbsp;&nbsp;&nbsp;&nbsp;Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;&nbsp;&nbsp;&nbsp;read&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The size of the file in bytes'&nbsp;&nbsp;&nbsp;&nbsp;AllowedFiles&nbsp;&nbsp;&nbsp;&nbsp;string &nbsp;&nbsp;&nbsp;&nbsp;read/write&nbsp;&nbsp;&nbsp;&nbsp;Allowed file extension(s), multiple seperated with a comma'&nbsp;&nbsp;&nbsp;&nbsp;Maxfilesize&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;&nbsp;&nbsp;&nbsp;read/write&nbsp;&nbsp;&nbsp;&nbsp;Maximum allowed size of the file'&nbsp;&nbsp;&nbsp;&nbsp;Error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;read&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The explenation of an error if occured''Methods'-------''&nbsp;&nbsp;&nbsp;&nbsp;Upload() = Status'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copies the result of Request.Binaryread to a file''&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;Upload success'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;A file has not been posted'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;File exceeds the maximum allowed filesize'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;Type is not allowed''&nbsp;&nbsp;&nbsp;&nbsp;Save(Overwrite)&nbsp;&nbsp;&nbsp;&nbsp;= Satus'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Slaat de bytearray op in een bestand met de in Filename gedefineerde bestandsnaam,'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in de in Path gedefineerde diretorie.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Overwrite &nbsp;&nbsp;&nbsp;&nbsp;boolean&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;true&nbsp;&nbsp;&nbsp;&nbsp;If the file exists it will be overwritten'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;false If the file exists it will not be overwritten''&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;The file has been saved'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;The binary value could not be written to a file'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;There is no binary value'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;The filename is empty'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;An error already occured, can't continue'&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;&nbsp;&nbsp;&nbsp;''Code:'-----------------------------------------------------------------------------------Class FileUpload&nbsp;&nbsp;&nbsp;&nbsp;Private strContentType&nbsp;&nbsp;&nbsp;&nbsp;Private bytData&nbsp;&nbsp;&nbsp;&nbsp;Private strFilename&nbsp;&nbsp;&nbsp;&nbsp;Private strPath&nbsp;&nbsp;&nbsp;&nbsp;Private lngTotalbytes&nbsp;&nbsp;&nbsp;&nbsp;Private strAllowedFiles&nbsp;&nbsp;&nbsp;&nbsp;Private lngMaxFileSize&nbsp;&nbsp;&nbsp;&nbsp;Private strError&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Private Sub Class_initialize()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strContentType&nbsp;&nbsp;&nbsp;&nbsp;= ""&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytData&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= chrB(10)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strFilename&nbsp;&nbsp;&nbsp;&nbsp;= ""&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strPath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= ""&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lngTotalbytes&nbsp;&nbsp;&nbsp;&nbsp;= 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strAllowedFiles&nbsp;&nbsp;&nbsp;&nbsp;= ""&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lngMaxFileSize&nbsp;&nbsp;&nbsp;&nbsp;= 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strError&nbsp;&nbsp;&nbsp;&nbsp;= ""&nbsp;&nbsp;&nbsp;&nbsp;End Sub&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Private Sub CLass_Terminate()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytData = Null&nbsp;&nbsp;&nbsp;&nbsp;End Sub&nbsp;&nbsp;&nbsp;&nbsp;Public Property Get Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Size = lngTotalbytes&nbsp;&nbsp;&nbsp;&nbsp;End Property&nbsp;&nbsp;&nbsp;&nbsp;Public Property Let MaxFileSize(byval vData)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If isNumeric(vData) > 0 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lngMaxFileSize = vData&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;End Property&nbsp;&nbsp;&nbsp;&nbsp;Public Property Get MaxFilesize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MaxFilesize = lngMaxFileSize&nbsp;&nbsp;&nbsp;&nbsp;End Property&nbsp;&nbsp;&nbsp;&nbsp;Public Property Let AllowedFiles(byval vData)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Len(vData) > 0 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strAllowedFiles = vData&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;End Property&nbsp;&nbsp;&nbsp;&nbsp;Public Property Get AllowedFiles&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AllowedFiles = strAllowedFiles&nbsp;&nbsp;&nbsp;&nbsp;End Property&nbsp;&nbsp;&nbsp;&nbsp;Public Property Get Error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Error = strError&nbsp;&nbsp;&nbsp;&nbsp;End Property&nbsp;&nbsp;&nbsp;&nbsp;Public Property Get ContentType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType = strContentType&nbsp;&nbsp;&nbsp;&nbsp;End Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Public Property Let Path(byval vData)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Len(vData) > 0 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strPath = vData&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End Property&nbsp;&nbsp;&nbsp;&nbsp;Public Property Get Path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Path = strPath&nbsp;&nbsp;&nbsp;&nbsp;End Property&nbsp;&nbsp;&nbsp;&nbsp;Public Property Let Filename(byval vData)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Len(vData) > 0 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strFilename = vData&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End Property&nbsp;&nbsp;&nbsp;&nbsp;Public Property Get Filename&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filename = strFilename&nbsp;&nbsp;&nbsp;&nbsp;End Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Public Function Upload()' as integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim bytAllData&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lngTotalbytes = Request.Totalbytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If lngTotalbytes > 0 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If lngMaxFilesize <> 0 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If lngTotalBytes > lngMaxFileSize Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strError = "The file exceeds the allowed capacity."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Upload = 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit Function&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytAllData = Request.BinaryRead(lngTotalbytes)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strContentType &nbsp;&nbsp;&nbsp;&nbsp;= GetContentType(bytAllData)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strFilename&nbsp;&nbsp;&nbsp;&nbsp;= GetFilename(bytAllData)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If strAllowedFiles <> "" Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Not AllowedFile(strFilename) Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strError = "Filetype is not allowed."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Upload = 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit Function&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytData&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= GetData(bytAllData)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Upload = 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Upload = 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strError = "No data recieved."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;End Function&nbsp;&nbsp;&nbsp;&nbsp;Public Function Save(byval bOverwrite)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If strError <> "" Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Save = 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit Function&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If strPath <> "" Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Mid(strPath,Len(strPath)-1,1) <> "\" Then strPath = strPath &amp; "\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If strFilename <> "" Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If LenB(bytData) > 1 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If SaveBinaryData(bytData,strPath &amp; strFilename,bOverwrite) Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Save = 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Save = 1 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Save = 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strError = "No data."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Save = 3 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strError = "Not a valid filename specified."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Save = 4 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strError = "No path specified."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;End Function&nbsp;&nbsp;&nbsp;&nbsp;Private Function AllowedFile(byval sFilename)'as boolean&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim arrAllowedFiles, intCount&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim strExtension&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Len(sFilename) > 0 Then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If inStr(sFilename,".") > 0 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strExtension = Mid(sFilename,Len(sFilename) - inStr(strReverse(sFilename),".")+2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arrAllowedFiles = Split(strAllowedFiles,",")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AllowedFile = False&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For intCount = 0 To Ubound(arrAllowedFiles)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If arrAllowedFiles(intCount) <> "" Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Lcase(strExtension) = Lcase(Trim(arrAllowedFiles(intCount))) Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AllowedFile = True&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit For&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AllowedFile = False&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AllowedFile = False&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;End Function &nbsp;&nbsp;&nbsp;&nbsp;Private Function SaveBinaryData(byval bData, byval sFilename, byval bOverwrite) 'as boolean&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim objFs, objTextFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim intCount, strFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If LenB(bData) < 2 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strError = "No data."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SaveBinaryData = False&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit Function&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set objFs = Server.CreateObject("scripting.filesystemobject")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Not objFs.FolderExists(strPath) Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strError = "Directory does not exists."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SaveBinaryData = False&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit Function&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Not bOverwrite And objFs.FileExists(sFilename) Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strError = "File already exists."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SaveBinaryData = False&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit Function&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set objTextFile = objFs.CreateTextFile(sFilename,True,False)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For intCount = 1 To LenB(bData)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;objTextFile.Write Chr(AscB(MidB(bData,intCount,1)))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;objTextFile.Close&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set objTextFile = Nothing&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set objFs = Nothing&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Session("file") = Null&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SaveBinaryData = True&nbsp;&nbsp;&nbsp;&nbsp;End Function&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Private Function GetData(byval bFile)'as bytearray&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim intStart, intEnd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If LenB(bFile) < 1 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetData = ChrB(10)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit Function&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;intStart = inStrB(bFile,ChrB(13) &amp; ChrB(10) &amp; ChrB(13) &amp; ChrB(10)) + 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;intEnd = inStrB(bFile,ChrB(13) &amp; ChrB(10) &amp; ChrB(45) &amp; ChrB(45)&amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45) &amp; ChrB(45))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If intStart > 0 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If intStart < intEnd Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetData = MidB(bFile, intStart, intEnd - intStart)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetData = ChrB(10)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetData = ChrB(10)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;End Function&nbsp;&nbsp;&nbsp;&nbsp;Private Function GetFilename(byval bFile)' as string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim bytFilename, bytChar, strFilename&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim intStart, intCount&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If LenB(bFile) < 1 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetFilename = ""&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit Function&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If LenB(bFile) > 0 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If inStrB(bFile,ChrB(102) &amp; ChrB(105) &amp; ChrB(108) &amp; ChrB(101) &amp; ChrB(110) &amp; ChrB(97) &amp; ChrB(109) &amp; ChrB(101) &amp; ChrB(61)) Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;intStart = inStrB(bFile, ChrB(102) &amp; ChrB(105) &amp; ChrB(108) &amp; ChrB(101) &amp; ChrB(110) &amp; ChrB(97) &amp; ChrB(109) &amp; ChrB(101) &amp; ChrB(61)) + 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For intCount = intStart To LenB(bFile)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytChar = MidB(bFile, intCount,1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If bytChar = ChrB(34) Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit For&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytFilename = bytFilename &amp; bytChar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For intCount = 1 To LenB(bytFilename)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strFilename = strFilename &amp; Chr(AscB(MidB(bytFilename,intCount,1)))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strFilename = Mid(strFilename,Len(strFilename) - inStr(strReverse(strFilename),"\")+2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetFilename = strFilename&nbsp;&nbsp;&nbsp;&nbsp;End Function&nbsp;&nbsp;&nbsp;&nbsp;Private Function GetContentType(byval bFile)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim bytContentType, strContentType, bytChar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim intStart, intCount&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If LenB(bFile) < 1 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetContentType = ""&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit Function&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If inStrB(bFile,ChrB(67) &amp; ChrB(111) &amp; ChrB(110) &amp; ChrB(116) &amp; ChrB(101) &amp; ChrB(110) &amp; ChrB(116) &amp; ChrB(45) &amp; ChrB(84) &amp; ChrB(121) &amp; ChrB(112) &amp; ChrB(101) &amp; ChrB(58)) > 0 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;intStart = inStrB(bFile,ChrB(67) &amp; ChrB(111) &amp; ChrB(110) &amp; ChrB(116) &amp; ChrB(101) &amp; ChrB(110) &amp; ChrB(116) &amp; ChrB(45) &amp; ChrB(84) &amp; ChrB(121) &amp; ChrB(112) &amp; ChrB(101) &amp; ChrB(58)) + 14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For intCount = intStart To LenB(bFile)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytChar = MidB(bFile, intCount,1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If bytChar = ChrB(13) Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit For&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytContentType = bytContentType &amp; bytChar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For intCount = 1 To LenB(bytContentType)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strContentType = strContentType &amp; Chr(AscB(MidB(bytContentType,intCount,1)))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetContentType = strContentType&nbsp;&nbsp;&nbsp;&nbsp;End FunctionEnd Class'-----------------------------------------------------------------------------------%></TEXTAREA>[/FONT]</CODE>[/CENTER]


    <CODE>[FONT=Tahoma][CENTER][FONT=Tahoma]حالا كافيست در فايل اول در خط 15 مسير را براي ذخيره فايلها روي سرويس‌دهنده خود مشخص كنيد :[/FONT][FONT=Tahoma]<O:p></O:p>[/FONT]


    <CODE>[FONT=Tahoma].Path = "D:\Inetpub\wwwroot\test[/FONT][FONT=Tahoma]"[/FONT]</CODE><CODE>[FONT=Tahoma];[/FONT]</CODE>

    [CENTER][FONT=Tahoma]مسير تعيين شده بايد حتماً موجود باشد[/FONT][/CENTER]
    [/CENTER]
    [/FONT][CENTER][CENTER]</CODE>[/CENTER]
    [/CENTER]

  13. کاربر روبرو از پست مفید B@RBOD سپاس کرده است .


  14. #10
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180
    سپاس ها
    19
    سپاس شده 582 در 473 پست

    Post ارسال ايميل با کمک Asp

    [RIGHT][FONT=Tahoma]استفاده از آبجکت[/FONT][FONT=Tahoma] CDONTS [/FONT][FONT=Tahoma]که يکي از کامپوننتهاي ويندوز سرور 2000 و ان تي مي باشد[/FONT][FONT=Tahoma] [/FONT][FONT=Tahoma]به راحتي مي توان در اسکريپتهاي سمت سرور[/FONT][FONT=Tahoma]
    [/FONT][FONT=Tahoma]ايميل ارسال کرد[/FONT][FONT=Tahoma].
    [/FONT][FONT=Tahoma]طريقه استفاده به[/FONT][FONT=Tahoma] [/FONT][FONT=Tahoma]شکل زير مي باشد[/FONT][FONT=Tahoma]<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p>[/FONT][/RIGHT]
    [LEFT][RIGHT][COLOR=black][FONT=Courier New]<%
    Dim objNewMail
    Set objNewMail = Server.CreateObject("CDONTS.NewMail")
    %><o:p></o:p>[/FONT][/COLOR][/LEFT]
    [FONT=Tahoma]مقادير قابل تنظيم براي[/FONT][FONT=Tahoma] [/FONT][FONT=Tahoma]اين آبجکت به شرح جدول زير مي باشد[/FONT][FONT=Tahoma].<o:p></o:p>[/FONT]
    <TABLE class=MsoNormalTable dir=rtl style="BORDER-RIGHT: #666699 1pt outset; BORDER-TOP: #666699 1pt outset; BORDER-LEFT: #666699 1pt outset; WIDTH: 375pt; BORDER-BOTTOM: #666699 1pt outset; mso-cellspacing: 0in; mso-border-alt: outset #666699 .75pt; mso-padding-alt: 7.5pt 7.5pt 7.5pt 7.5pt; mso-table-dir: bidi" cellSpacing=0 cellPadding=0 width=500 border=1><TBODY><TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; WIDTH: 37.5pt; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt" width=50>[RIGHT][FONT=Tahoma]From<o:p></o:p>[/FONT][/RIGHT]
    </TD><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]يک مقدار رشته اي که آدرس پست الکترونيکي فرستنده را مشخص مي[/FONT][FONT=Tahoma] [/FONT][FONT=Tahoma]کند[/FONT][FONT=Tahoma]
    ([/FONT][FONT=Tahoma]به طور مثال[/FONT]<SPAN dir=ltr style="FONT-SIZE: 9pt; LINE-HEIGHT: 150%; FONT-FAMILY: Tahoma"><SCRIPT language=JavaScript type=text/javascript> <!-- var prefix = '&#109;a' + 'i&#108;' + '&#116;o'; var path = 'hr' + 'ef' + '='; var addy3637 = 'M&#101;' + '&#64;'; addy3637 = addy3637 + 's&#111;m&#101;wh&#101;r&#101;' + '&#46;' + 'c&#111;m'; document.write( '<a ' + path + '\'' + prefix + ':' + addy3637 + '\'>' ); document.write( addy3637 ); document.write( '<\/a>' ); //-->\n </SCRIPT> [EMAIL="Me@somewhere.com"][COLOR=#009cff]Me@somewhere.com[/COLOR][/EMAIL]<SCRIPT language=JavaScript type=text/javascript> <!-- document.write( '' ); //--> </SCRIPT> This email address is being protected from spam bots, you need Javascript enabled to view it<SCRIPT language=JavaScript type=text/javascript> <!-- document.write( '</' ); document.write( 'span>' ); //--> </SCRIPT> )<o:p></o:p>[/RIGHT]
    </TD></TR><TR style="mso-yfti-irow: 1"><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]To<o:p></o:p>[/FONT][/RIGHT]
    </TD><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]يک مقدار رشته اي که آدرس پست الکترونيکي گيرنده را مشخص مي[/FONT][FONT=Tahoma] [/FONT][FONT=Tahoma]کند[/FONT][FONT=Tahoma].
    ([/FONT][FONT=Tahoma]به طور مثال[/FONT]<SPAN dir=ltr style="FONT-SIZE: 9pt; LINE-HEIGHT: 150%; FONT-FAMILY: Tahoma">,<SCRIPT language=JavaScript type=text/javascript> <!-- var prefix = '&#109;a' + 'i&#108;' + '&#116;o'; var path = 'hr' + 'ef' + '='; var addy45811 = 's&#111;m&#101;&#111;n&#101;' + '&#64;'; addy45811 = addy45811 + 's&#111;m&#101;wh&#101;r&#101;' + '&#46;' + 'c&#111;m'; document.write( '<a ' + path + '\'' + prefix + ':' + addy45811 + '\'>' ); document.write( addy45811 ); document.write( '<\/a>' ); //-->\n </SCRIPT> [EMAIL="someone@somewhere.com"][COLOR=#009cff]someone@somewhere.com[/COLOR][/EMAIL]<SCRIPT language=JavaScript type=text/javascript> <!-- document.write( '' ); //--> </SCRIPT> This email address is being protected from spam bots, you need Javascript enabled to view it<SCRIPT language=JavaScript type=text/javascript> <!-- document.write( '</' ); document.write( 'span>' ); //--> </SCRIPT> )
    [FONT=Tahoma]آدرس گيرنده هاي مختلف با استفاده[/FONT][FONT=Tahoma] [/FONT][FONT=Tahoma]از علامت روبرو امکان پذير ميباشد[/FONT][FONT=Tahoma] "[B];[/B]"<o:p></o:p>[/FONT][/RIGHT]
    </TD></TR><TR style="mso-yfti-irow: 2"><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]Subject<o:p></o:p>[/FONT][/RIGHT]
    </TD><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]عنوان پيام[/FONT][FONT=Tahoma]<o:p></o:p>[/FONT][/RIGHT]
    </TD></TR><TR style="mso-yfti-irow: 3"><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]Body<o:p></o:p>[/FONT][/RIGHT]
    </TD><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]متن پيام[/FONT][FONT=Tahoma]<o:p></o:p>[/FONT][/RIGHT]
    </TD></TR><TR style="mso-yfti-irow: 4"><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]Cc<o:p></o:p>[/FONT][/RIGHT]
    </TD><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]آدرس پست الکترونيکي شخصي که قرار است يک کپي از نامه را دريافت[/FONT][FONT=Tahoma] [/FONT][FONT=Tahoma]کند[/FONT][FONT=Tahoma]<o:p></o:p>[/FONT][/RIGHT]
    </TD></TR><TR style="mso-yfti-irow: 5"><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]Bcc<o:p></o:p>[/FONT][/RIGHT]
    </TD><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]آدرس الکترونيکي شخصي که قرار است يک کپي از نامه را دريافت کند[/FONT][FONT=Tahoma] ( [/FONT][FONT=Tahoma]بدون اطلاع دريافت کننده نامه[/FONT][FONT=Tahoma])<o:p></o:p>[/FONT][/RIGHT]
    </TD></TR><TR style="mso-yfti-irow: 6"><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]Importance<o:p></o:p>[/FONT][/RIGHT]
    </TD><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]يک مقدار عددي که نشان دهنده در جه اهميت نامه مي باشد[/FONT][FONT=Tahoma]
    ([/FONT][FONT=Tahoma]براي[/FONT][FONT=Tahoma] [/FONT][FONT=Tahoma]مثال خيلي مهم , مهم , عادي[/FONT][FONT=Tahoma] )<o:p></o:p>[/FONT][/RIGHT]
    </TD></TR><TR style="mso-yfti-irow: 7"><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]BodyFormat<o:p></o:p>[/FONT][/RIGHT]
    </TD><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]يک مقدار عددي که نشان دهنده فرمت اطلاعات متن نامه مي[/FONT][FONT=Tahoma] [/FONT][FONT=Tahoma]باشد[/FONT][FONT=Tahoma]
    ObjMail.BodyFormat = 0 (HTML format)
    ObjMail.BodyFormat = 1 ([/FONT][FONT=Tahoma]متن[/FONT][FONT=Tahoma] [/FONT][FONT=Tahoma]عادي[/FONT][FONT=Tahoma])<o:p></o:p>[/FONT][/RIGHT]
    </TD></TR><TR style="mso-yfti-irow: 8; mso-yfti-lastrow: yes"><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]MailFormat<o:p></o:p>[/FONT][/RIGHT]
    </TD><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]يک مقدار عددي که نشان دهنده فرمت اطلاعات نامه مي[/FONT][FONT=Tahoma] [/FONT][FONT=Tahoma]باشد[/FONT][FONT=Tahoma]
    ObjMail.MailFormat = 0 (Mime format)
    ObjMail.MailFormat = 1 ([/FONT][FONT=Tahoma]متن[/FONT][FONT=Tahoma] [/FONT][FONT=Tahoma]عادي[/FONT][FONT=Tahoma])<o:p></o:p>[/FONT][/RIGHT]
    </TD></TR></TBODY></TABLE>
    [FONT=Tahoma]


    [/FONT][B][FONT=Tahoma]متودهاي اين آبجکت[/FONT][/B][FONT=Tahoma]<o:p></o:p>[/FONT]
    <TABLE class=MsoNormalTable dir=rtl style="BORDER-RIGHT: #666699 1pt outset; BORDER-TOP: #666699 1pt outset; BORDER-LEFT: #666699 1pt outset; WIDTH: 375pt; BORDER-BOTTOM: #666699 1pt outset; mso-cellspacing: 0in; mso-border-alt: outset #666699 .75pt; mso-padding-alt: 7.5pt 7.5pt 7.5pt 7.5pt; mso-table-dir: bidi" cellSpacing=0 cellPadding=0 width=500 border=1><TBODY><TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; WIDTH: 37.5pt; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt" width=50>[RIGHT][FONT=Tahoma]AttachFile<o:p></o:p>[/FONT][/RIGHT]
    </TD><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]اين متود يک فايل را به نامه پيوست مي کند[/FONT][FONT=Tahoma]<o:p></o:p>[/FONT][/RIGHT]
    </TD></TR><TR style="mso-yfti-irow: 1"><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]AttachURL<o:p></o:p>[/FONT][/RIGHT]
    </TD><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]اين متود آدرس فايل پيوست شده را تخصيص مي دهد[/FONT][FONT=Tahoma]<o:p></o:p>[/FONT][/RIGHT]
    </TD></TR><TR style="mso-yfti-irow: 2; mso-yfti-lastrow: yes"><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]Send<o:p></o:p>[/FONT][/RIGHT]
    </TD><TD style="BORDER-RIGHT: #666699 1pt inset; PADDING-RIGHT: 7.5pt; BORDER-TOP: #666699 1pt inset; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 7.5pt; BORDER-LEFT: #666699 1pt inset; PADDING-TOP: 7.5pt; BORDER-BOTTOM: #666699 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset #666699 .75pt">[RIGHT][FONT=Tahoma]اين متود نامه را ارسال مي کند[/FONT][FONT=Tahoma]<o:p></o:p>[/FONT][/RIGHT]
    </TD></TR></TBODY></TABLE>
    [FONT=Tahoma]بعد از[/FONT][FONT=Tahoma] [/FONT][FONT=Tahoma]ارسال ايميل مقادير در حافظه باقي مي ماند و شما بايد حافظه را خالي کنيد. همچنين[/FONT][FONT=Tahoma] [/FONT][FONT=Tahoma]براي ارسال يک ايميل جديد بايد يک آبجکت جديد[/FONT][FONT=Tahoma]
    [/FONT][FONT=Tahoma]ايجاد کرده و از آن استفاده کنيد[/FONT][FONT=Tahoma]. [/FONT][FONT=Tahoma]کد زير نحوه استفاده از اين آبجکت را در[/FONT][FONT=Tahoma] asp [/FONT][FONT=Tahoma]نشان مي دهد[/FONT][FONT=Tahoma].<o:p></o:p>[/FONT][/RIGHT]
    [LEFT][RIGHT][COLOR=black][FONT=Courier New]<%
    Option Explicit

    Dim objNewMail

    ' [/FONT][/COLOR][COLOR=black][FONT=Courier New]ابتدا يک آبجکت از نوع[/FONT][/COLOR][COLOR=black][FONT=Courier New] cdonts [/FONT][/COLOR][COLOR=black][FONT=Courier New]ايجاد مي کنيم[/FONT][/COLOR][COLOR=black][FONT=Courier New]
    Set objNewMail = Server.CreateObject("CDONTS.NewMail")

    ' [/FONT][/COLOR][COLOR=black][FONT=Courier New]بعد از ايجاد آبجکت ما بايد[/FONT][/COLOR][COLOR=black][FONT=Courier New] [/FONT][/COLOR][COLOR=black][FONT=Courier New]مقادير مربوط به آن را تنظيم کنيم[/FONT][/COLOR]<SPAN dir=ltr style="FONT-SIZE: 10pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'">

    objNewMail.From = "<SCRIPT language=JavaScript type=text/javascript> <!-- var prefix = '&#109;a' + 'i&#108;' + '&#116;o'; var path = 'hr' + 'ef' + '='; var addy26464 = 'w&#101;bm&#97;st&#101;r' + '&#64;'; addy26464 = addy26464 + '&#105;r&#97;n' + '&#46;' + 'c&#111;m'; document.write( '<a ' + path + '\'' + prefix + ':' + addy26464 + '\'>' ); document.write( addy26464 ); document.write( '<\/a>' ); //-->\n </SCRIPT> [EMAIL="webmaster@iran.com"][COLOR=#009cff]webmaster@iran.com[/COLOR][/EMAIL]<SCRIPT language=JavaScript type=text/javascript> <!-- document.write( '<span style=\'display: none;\'>' ); //--> </SCRIPT> This email address is being protected from spam bots, you need Javascript enabled to view it<SCRIPT language=JavaScript type=text/javascript> <!-- document.write( '</' ); document.write( 'span>' ); //--> </SCRIPT> "
    objNewMail.To = "<SCRIPT language=JavaScript type=text/javascript> <!-- var prefix = '&#109;a' + 'i&#108;' + '&#116;o'; var path = 'hr' + 'ef' + '='; var addy56829 = 't&#101;st' + '&#64;'; addy56829 = addy56829 + 'y&#97;h&#111;&#111;' + '&#46;' + 'c&#111;m'; document.write( '<a ' + path + '\'' + prefix + ':' + addy56829 + '\'>' ); document.write( addy56829 ); document.write( '<\/a>' ); //-->\n </SCRIPT> [EMAIL="test@yahoo.com"][COLOR=#009cff]test@yahoo.com[/COLOR][/EMAIL]<SCRIPT language=JavaScript type=text/javascript> <!-- document.write( '' ); //--> </SCRIPT> This email address is being protected from spam bots, you need Javascript enabled to view it<SCRIPT language=JavaScript type=text/javascript> <!-- document.write( '</' ); document.write( 'span>' ); //--> </SCRIPT> "

    objNewMail.Subject = "[COLOR=black][FONT=Courier New]اين يک ايميل تستي[/FONT][/COLOR][COLOR=black][FONT=Courier New] [/FONT][/COLOR][COLOR=black][FONT=Courier New]است[/FONT][/COLOR][COLOR=black][FONT=Courier New]"
    objNewMail.Body = "[/FONT][/COLOR][COLOR=black][FONT=Courier New]اين متن نامه است[/FONT][/COLOR][COLOR=black][FONT=Courier New]"
    objNewMail.Send

    ' [/FONT][/COLOR][COLOR=black][FONT=Courier New]بعد از[/FONT][/COLOR][COLOR=black][FONT=Courier New] [/FONT][/COLOR][COLOR=black][FONT=Courier New]ارسال ايميل با استفاده از کد زير فضاي حافظه را خالي مي کنيم[/FONT][/COLOR][COLOR=black][FONT=Courier New]

    Set objNewMail = Nothing

    Response.Write "[/FONT][/COLOR][COLOR=black][FONT=Courier New]ايميل ارسال[/FONT][/COLOR][COLOR=black][FONT=Courier New] [/FONT][/COLOR][COLOR=black][FONT=Courier New]شد[/FONT][/COLOR][COLOR=black][FONT=Courier New]"[/FONT][/COLOR][/LEFT][/RIGHT]

صفحه 1 از 2 12 آخرینآخرین

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •