1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

Help adding a 2nd Browse Box & Submit Button

Discussion in 'C#' started by chrisj, Jun 19, 2008.

  1. #1
    I'm using FreeASPupload script and it works successfully.
    I'd like to get some guidance on how to modify to add a second Browse Box and second Submit Button, so these uploaded files can go to a second directory destination. Thanks.
    I believe this is the script page (of two) that would need the modification:
    <%@ Language=VBScript %>
    <%
    option explicit
    Response.Expires = -1
    Server.ScriptTimeout = 600
    %>
    <!-- #include file="aspupload.asp" -->
    <%
    
    ' ****************************************************
      Dim uploadsDirVar
      uploadsDirVar = "C:/Documents and Settings/TAinput/"
    ' ****************************************************
    function OutputForm()
    %>
        <form name="frmSend" method="POST" enctype="multipart/form-data" action="uploadTester.asp" onSubmit="return onSubmitForm();">
     <B>File names:</B><br>
        File 1: <input name="attach1" type="file" size=35><br>
        File 2: <input name="attach2" type="file" size=35><br>
        File 3: <input name="attach3" type="file" size=35><br>
        File 4: <input name="attach4" type="file" size=35><br>
        <br>
     <!-- These input elements are obviously optional and just included here for demonstration purposes -->
     <B>Additional fields (demo):</B><br>
     Enter a number: <input type="text" name="enter_a_number"><br>
        Checkbox values: <input type="checkbox" value="1" name="checkbox_values">-1 <input type="checkbox" value="2" name="checkbox_values">-2<br>
     <!-- End of additional elements -->
        <input style="margin-top:4" type=submit value="Upload">
        </form>
    <%
    end function
    function TestEnvironment()
        Dim fso, fileName, testFile, streamTest
        TestEnvironment = ""
        Set fso = Server.CreateObject("Scripting.FileSystemObject")
        if not fso.FolderExists(uploadsDirVar) then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not exist.</B><br>The value of your uploadsDirVar is incorrect. Open uploadTester.asp in an editor and change the value of uploadsDirVar to the pathname of a directory with write permissions."
            exit function
        end if
        fileName = uploadsDirVar & "\test.txt"
        on error resume next
        Set testFile = fso.CreateTextFile(fileName, true)
        If Err.Number<>0 then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not have write permissions.</B><br>The value of your uploadsDirVar is incorrect. Open uploadTester.asp in an editor and change the value of uploadsDirVar to the pathname of a directory with write permissions."
            exit function
        end if
        Err.Clear
        testFile.Close
        fso.DeleteFile(fileName)
        If Err.Number<>0 then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not have delete permissions</B>, although it does have write permissions.<br>Change the permissions for IUSR_<I>computername</I> on this folder."
            exit function
        end if
        Err.Clear
        Set streamTest = Server.CreateObject("ADODB.Stream")
        If Err.Number<>0 then
            TestEnvironment = "<B>The ADODB object <I>Stream</I> is not available in your server.</B><br>Check the Requirements page for information about upgrading your ADODB libraries."
            exit function
        end if
        Set streamTest = Nothing
    end function
    function SaveFiles
        Dim Upload, fileName, fileSize, ks, i, fileKey
        Set Upload = New FreeASPUpload
        Upload.MaxFileSize = 10000
        Upload.Save(uploadsDirVar)
     ' If something fails inside the script, but the exception is handled
     If Err.Number<>0 then Exit function
        SaveFiles = ""
        ks = Upload.UploadedFiles.keys
        if (UBound(ks) <> -1) then
            SaveFiles = "<B>Files uploaded:</B> "
            for each fileKey in Upload.UploadedFiles.keys
                SaveFiles = SaveFiles & Upload.UploadedFiles(fileKey).FileName & " (" & Upload.UploadedFiles(fileKey).Length & "B) "
            next
        else
            SaveFiles = "The file name specified in the upload form does not correspond to a valid file in the system."
        end if
     SaveFiles = SaveFiles & "<br>Enter a number = " & Upload.Form("enter_a_number") & "<br>"
     SaveFiles = SaveFiles & "Checkbox values = " & Upload.Form("checkbox_values") & "<br>"
    end function
    %>
     
    <HTML>
    <HEAD>
    <Title>WTA</Title>
    <style type="text/css">
    body {margin: 1px 100px; 0px 100px;
    padding: 1px;}
    </style>
    </HEAD>
    <BODY leftMargin=0 topMargin=0 marginheight="0" marginwidth="0"  body {border-left: 1px solid #000; }>
    <TABLE cellSpacing=0 valign=top cellPadding=0 width=100% border=0>
     <TR valign=middle height=10>
      <TD class=headera1><IMG src="/images/clear.gif" height=1 width=159 border=0></TD>
      <TD width="100%" align=right class=headera2>&nbsp;</TD>
     </TR>
     <TR>
       <TD class=headera3><IMG src="/images/clear.gif" height=1 width=159 border=0></TD>
      <TD width="100%" align=right class=headera4>&nbsp;</TD>
      </tr>
    <TR valign=top>
      <TD><!--<IMG src="/smusermanager/images/logo1.gif" height=150 width=159 border=0>--></TD>
      <TD valign=left width=795 height=1><!--<font class=setuptext><IMG src="/smusermanager/images/clear.gif">--><IMG src="/images/topimg11.jpg">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG src="/images/topimg2.jpg"></font></TD>
     </TR>
     <TR valign=top height=1>
      <TD colspan=2 class=black><IMG src="/images/clear.gif" height=1 width=100% border=0></TD>
     </TR>
    </TABLE>
    </TD>
    <TABLE cellSpacing=20 valign=top cellPadding=0 height=100% width=100% border=0>
     <TR valign=top>
      <TD width=10%>
       <TABLE cellSpacing=0 valign=top cellPadding=0 width=100% border=0>
        <TR valign=middle>
         <TD valign=middle class=lightgrey><IMG src="/images/clear.gif" height=20 width=160 align=absmiddle></TD>
        </TR>
        <TR valign=top height=2>
         <TD><IMG src="/images/clear.gif" height=2 width=160 border=0></TD>
        </TR>
        <!--<TR valign=top height=3>
         <TD class=gray><IMG src="/images/clear.gif" height=3 width=160 border=0></TD>
        </TR>-->
       </TABLE>
    
       <TABLE cellSpacing=0 cellPadding=0 width=100% border=0>
        <TR>
         <TD><font class=tbody>
         <!--<IMG src="/smusermanager/images/sepline130.gif"><br>
         <font class=smallheading><b>Navigation Menu</b></font><br>
         <IMG src="/smusermanager/images/sepline130.gif">-->
    
       <form action="/smusermanager/members/default.asp?action=login" method=post name=login language="JAVASCRIPT" onsubmit="return Validate();"><input type=hidden name=todo value="login"><input type=hidden name=url value="/smusermanager/members/default.asp">
    <table border=0 cellspacing=0 cellpadding=0 width=95% align=center class=colorformborder><tr class=colorformborder><td><table border=0 cellspacing=0 width=100% cellpadding=0><tr class=colorformborder><td colspan=2><table border=0 cellspacing=1 cellpadding=5 width=100% colspan=2><tr class=colorformheader><td colspan=2><font class=textsize9><font color=white><b>Login Here</b></font></td></tr>
    <tr class=colorformfields><td align=center colspan=2><font class=textsize9></font></td></tr><tr class=colorformfieldsalt><td align=right width=50% ><font class=textsize9>Email Address</font></td><td><font class=textsize9><input class=fieldbox type=text size=20 maxlength=50 name="members_username"></font></td></tr>
    <tr class=colorformfields><td align=right width=20% ><font class=textsize9>Password</font></td><td><font class=textsize9><input class=fieldbox type=password size=20 maxlength=50 name="members_password"></font></td></tr><tr class=colorformfields><td colspan=2 align=right><font class=textsize9><input class=fieldbox type=submit value="Login" id=submit2 name=submit2></font></td></tr>
    </td></tr></table></td></tr></table></td></tr></table></form>
    <div style="padding-left: 24px;"> <font face="Arial" color="#000000" size="3"><img src="/images/Hphone.gif" style="vertical-align: middle;"> <a href="?action=login">&nbsp;&nbsp;Home</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone1.gif">--><img src="/images/hphone1.gif" style="vertical-align: middle;"><a href="?action=register">&nbsp;&nbsp;Register</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone2.gif">--><img src="/images/hphone2.gif" style="vertical-align: middle;"><a href="?action=forgotusername">&nbsp;&nbsp;FAQ</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone3.gif">--><img src="/images/hphone3.gif" style="vertical-align: middle;"><a href="?action=forgotusername">&nbsp;&nbsp;Terms Of Use</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone4.gif">--><img src="/images/hphone4.gif" hspace="4px" style="vertical-align: middle;">
    <a href="?action=forgotusername">&nbsp;&nbsp;Contact Us</a><br><br>
                            <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone5.gif">--><img src="/images/hphone5.gif" style="vertical-align: middle;"><a href="?action=forgotpass">&nbsp;&nbsp;Forgot Password</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone7.gif">--><img src="/images/hphone7.gif" style="vertical-align: middle;"><a href="?action=forgotusername">&nbsp;&nbsp;Forgot Username</a></font></div>
         <!--<IMG src="/smusermanager/images/clear.gif" width=1 height=5><br><IMG src="/smusermanager/images/link_arrow.gif"> <a href="?action=maillist">Newsletter</a>-->
         </font>
    <!--<IMG src="/images/headphone.gif">-->
    </TD>
        </TR>
       </TABLE>
      </TD>
      <TD width="1" height=100% background="/smusermanager/images/dot.gif">
       <TABLE cellSpacing=0 valign=top cellPadding=0 width=1 border=0>
        <TR valign=middle>
         <TD valign=middle class=lightgrey><IMG src="/smusermanager/images/clear.gif" height=20 width=1 align=absmiddle></TD>
        </TR>
        <TR valign=top height=2>
         <TD class=white><IMG src="/smusermanager/images/clear.gif" height=2 width=1 border=0></TD>
        </TR>
        <TR valign=top height=3>
         <TD class=gray><IMG src="/smusermanager/images/clear.gif" height=3 width=1 border=0></TD>
        </TR>
       </TABLE>
    
    </TD>
      <TD width=100%  style="border-left: Solid #EE7600 3px;">
       <TABLE cellSpacing=0 cellPadding=0 width=100% border=0>
        <TR valign=middle>
         <TD valign=middle class=lightgrey><IMG src="/smusermanager/images/clear.gif" height=20 width=1 align=absmiddle></TD>
        </TR>
        <TR valign=top height=2>
         <TD class=white><IMG src="/smusermanager/images/clear.gif" height=2 width=1 border=0></TD>
        </TR>
        <TR valign=top height=3>
         <TD class=gray><IMG src="/smusermanager/images/clear.gif" height=3 width=11 border=0></TD>
        </TR>
        <TR>
         <TD valign=top><font class=tbody>
         <style>
    .fieldbox
    {
        BACKGROUND: #ffffff;
        BORDER-BOTTOM: #666666 1px solid;
        BORDER-LEFT: #666666 1px solid;
        BORDER-RIGHT: #666666 1px solid;
        BORDER-TOP: #666666 1px solid;
        COLOR: #333333;
        FONT-FAMILY: Verdana, Helvetica, Arial;
        FONT-SIZE: 13px
    }
    .colorwhite
    {
        BACKGROUND-COLOR: white
    }
    .colorblack
    {
        BACKGROUND-COLOR: black
    }
    .colortopbar
    {
        BACKGROUND-COLOR: #999966
    }
    .colormenubar
    {
        BACKGROUND-COLOR: #999966
    }
    .colormenufields
    {
        BACKGROUND-COLOR: #cccc99
    }
    .colorformborder
    {
        BACKGROUND-COLOR: #ffffff
    }
    .colorformheader
    {
        BACKGROUND-COLOR: #A30100
    }
    .colorformfields
    {
        BACKGROUND-COLOR: #ffffff
    }
    .colorformfieldsalt
    {
        BACKGROUND-COLOR: #ffffff
    }
    .colorformresponse
    {
        BACKGROUND-COLOR: white
    }
    .textsize16 A
    {
        COLOR: navy;
        FONT-FAMILY: Verdana, Arial, helvetica;
        FONT-SIZE: 16pt;
        TEXT-DECORATION: none
    }
    .textsize16 A:active
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial, helvetica;
        FONT-SIZE: 16pt
    }
    .textsize16 A:hover
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial,
    helvetica;
        FONT-SIZE: 16pt;
        TEXT-DECORATION: none
    }
    .textsize9
    {
        COLOR: black;
        FONT-FAMILY: Verdana, Helvetica, Arial;
        FONT-SIZE: 9pt;
        LINE-HEIGHT: normal;
        TEXT-DECORATION: none
    }
    .textsize9 A
    {
        COLOR: navy;
        FONT-FAMILY: Verdana, Arial, helvetica;
        FONT-SIZE: 19pt;
        TEXT-DECORATION: none
    }
    .textsize9 A:active
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial, helvetica;
        FONT-SIZE: 19pt
    }
    .textsize9 A:hover
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial,
    helvetica;
        FONT-SIZE: 19pt;
        TEXT-DECORATION: none
    }
    .textsize8
    {
        COLOR: black;
        FONT-FAMILY: Verdana, Helvetica, Arial;
        FONT-SIZE: 18pt;
        LINE-HEIGHT: normal;
        TEXT-DECORATION: none
    }
    .textsize8 A
    {
        COLOR: navy;
        FONT-FAMILY: Verdana, Arial, helvetica;
        FONT-SIZE: 18pt;
        TEXT-DECORATION: none
    }
    .textsize8 A:active
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial, helvetica;
        FONT-SIZE: 18pt
    }
    .textsize8 A:hover
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial,
    helvetica;
        FONT-SIZE: 18pt;
        TEXT-DECORATION: none
    }
    .textsize16
    {
        COLOR: red;
        FONT-FAMILY: Verdana, Helvetica, Arial;
        FONT-SIZE: 16pt;
        TEXT-DECORATION: none
    }
    .headera1 {BACKGROUND-COLOR: #A30100; border-bottom: 5px solid #FCB514; }
    .headera2 {BACKGROUND-COLOR: #A30100; border-bottom: 5px solid #FCB514; }
    .headera3 {BACKGROUND-COLOR: #ffffff; border-top: 1px solid #}
    .headera4 {BACKGROUND-COLOR: #ffffff; border-top: 1px solid #}
    .black {BACKGROUND-COLOR: white}
    .white {BACKGROUND-COLOR: }
    .lightgrey {BACKGROUND-COLOR: #ffffff}
    .gray {BACKGROUND-COLOR: #ffffff}
    
    .link {FONT-SIZE: 18pt;COLOR: ffffff;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .link A {COLOR: white;TEXT-DECORATION: none}
    .link A:active {COLOR: white;TEXT-DECORATION: none}
    .link A:hover {COLOR: white;TEXT-DECORATION: none}
    .linksmall {FONT-SIZE: 18pt;COLOR: #99ccff;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .linksmall A {COLOR: #99ccff;TEXT-DECORATION: none}
    .linksmall A:active {COLOR: #99ccff;TEXT-DECORATION: none}
    .linksmall A:hover {COLOR: #3366ff;TEXT-DECORATION: none}
    .pathlink {FONT-SIZE: 7.5pt;COLOR: #666666;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .pathlink A {COLOR: #666666;TEXT-DECORATION: none}
    .pathlink A:active {COLOR: #666666;TEXT-DECORATION: none}
    .pathlink A:hover {COLOR: #666666;TEXT-DECORATION: none}
    .setuptext {FONT-SIZE: 24pt;COLOR: lightgrey;FONT-weight: bold;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .setuptextsmall {FONT-SIZE: 10pt;COLOR: lightgrey;FONT-weight: bold;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .heading {FONT-SIZE: 10pt;COLOR: #6384ad;FONT-weight: bold;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .smallheading {FONT-SIZE: 8pt;COLOR: #6384ad;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .tbody {FONT-SIZE: 12pt;COLOR: black;LINE-HEIGHT: 13pt;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .tbody A {COLOR: #000000;TEXT-DECORATION: none}
    .tbody A:active {COLOR: #6384ad;TEXT-DECORATION: none}
    .tbody A:hover {COLOR: #6384ad;TEXT-DECORATION: underline}
    .textred {FONT-SIZE: 8pt;COLOR: #BD0000;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .textgreen {FONT-SIZE: 8pt;COLOR: #008000;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .textnavy {FONT-SIZE: 8pt;COLOR: #333399;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .textgray {FONT-SIZE: 8pt;COLOR: gray;FONT-STYLE: italic;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    /* START CSS */
    #content {
        float: left;
        width: 596px;
        padding-left: 20px;
        background-color: #ffffff;
    }
    #column1 {
           float: left;
           padding: 0px;
           padding-right:0px
           padding-left: 0px;
           background-color: #ffffff;
           width: 270px;
    }
    #column2 {
           float: left;
           margin:0
           padding: 10px;
           padding-left: 20px;
           padding right: 0px
           background-color: #AAAAAA;
           width: 240px;
    }
    
    /* END CSS */
    </style>
    <SCRIPT LANGUAGE="JavaScript">errorcolor = '#eeeeee';</Script>
    <table cellspacing=0 border=0 cellpadding=40 width=100% align=left>
     <tr>
      <td align=left valign=middle>
    <script language="JAVASCRIPT">
     var errfound = false;
      function ValidLength(item, len) {
         return (item.length >= len);
      }
      function error(elem, text) {
         if (errfound) return;
         window.alert(text);
         elem.select();
         elem.focus();
         elem.style.backgroundColor=errorcolor;
         errfound = true;
      }
      function Validate() {
         errfound = false;
         d=document.login
         if (!ValidLength(d.members_username.value,1))error(d.members_username,"Username should not be blank.");
         if (!ValidLength(d.members_password.value,1))error(d.members_password,"Password should not be blank.");
         return !errfound;
      }
    </script>
    <TR valign=top>
    <div style="border:0px solid #000000; width: 705px; padding-left: 75px; text-align:top;">
    
    <style>
    BODY {background-color: white;font-family:arial; font-size:12}
    </style>
    <script>
    function onSubmitForm() {
        var formDOMObj = document.frmSend;
        if (formDOMObj.attach1.value == "" && formDOMObj.attach2.value == "" && formDOMObj.attach3.value == "" && formDOMObj.attach4.value == "" )
            alert("Please press the browse button and pick a file.")
        else
            return true;
        return false;
    }
    </script>
    </HEAD>
    <BODY>
    <br><br>
    <div style="border-bottom: #A91905 2px solid;font-size:16">Upload files to your server</div>
    <%
    Dim diagnostics
    if Request.ServerVariables("REQUEST_METHOD") <> "POST" then
        diagnostics = TestEnvironment()
        if diagnostics<>"" then
            response.write "<div style=""margin-left:20; margin-top:30; margin-right:30; margin-bottom:30;"">"
            response.write diagnostics
            response.write "<p>After you correct this problem, reload the page."
            response.write "</div>"
        else
            response.write "<div style=""margin-left:150"">"
            OutputForm()
            response.write "</div>"
        end if
    else
        response.write "<div style=""margin-left:150"">"
        OutputForm()
        response.write SaveFiles()
        response.write "<br><br></div>"
    end if
    %>
    <br><br>
    </p></div></tr></td></tr>
    </table></TD></TR></TABLE>
      </TD>
      <!--<TD width="1" height=100% background="/smusermanager/images/dot.gif"><IMG src="/smusermanager/images/clear.gif" width="1" height=100% border=0></TD>-->
     </TR>
    </TABLE>
    <TABLE cellSpacing=0 valign=bottom cellPadding=0 width=100% border=0>
     <TR valign=top height=4>
      <TD colspan=2 class=gray><IMG src="/smusermanager/images/clear.gif" height=4 width=25 border=0></TD>
     </TR>
     <TR valign=middle height=25>
      <TD class=headera2>&nbsp;<FONT class=linksmall><font face="Arial" color="#ffffff" size="2">Copyright © 2007 <a href="" target="_blank"></a>. All Rights Reserved.</FONT></TD>
      <TD align=right class=headera2><font class=linksmall><font face="Arial" color="#ffffff" size="2">Email : <A href=""></A> &nbsp;&nbsp;&nbsp; </font></TD>
     </TR>
    </TABLE>
    </Body>
    </BODY>
    </HTML> 
    
    Code (markup):

     
    chrisj, Jun 19, 2008 IP
  2. shaileshk

    shaileshk Well-Known Member

    Messages:
    455
    Likes Received:
    7
    Best Answers:
    0
    Trophy Points:
    108
    #2
    i.e
    You have diffrent button like blue,green,white ---- Button
    you have green,blue,white folder -------------folder

    When you click on blue you need to set values in one hidden text as blue

    so you need to call one function when you click on button.
    <input type=button name=btnblue value=bule onClick="setColor(this)">
    <input type=button name=btnblue value=bule onClick="setColor(this)">
    <input type=button name=btnblue value=bule onClick="setColor(this)">
    <input type=hidden name=txtcolor>

    function setColor(obj)
    {
    document.f1.txtcolor.value=obj.text;
    }


    you have value of your button and when you submit you page at the same time you also get hidden values.

    you set your upload directory variable
     
    shaileshk, Jun 24, 2008 IP
  3. chrisj

    chrisj Well-Known Member

    Messages:
    606
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    101
    #3
    Thanks for your reply.
    However, I'm a little confused by your reply.

    Right now this script has an existing Browse box and submit button.
    Can someone guide me on how I might copy the Browse Button code and Submit Button code and paste it into the script code? So that I can have two Browse Box fields and two Submit buttons in the form?

    And then direct the 2nd Submit button so that uploaded files go to a different folder?

    Thanks.
     
    chrisj, Jul 4, 2008 IP
  4. helpbeam

    helpbeam Guest

    Messages:
    30
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #4
    Try this.
    First I added a second submit button to the outputform function

    <form name="frmSend" method="POST" enctype="multipart/form-data" action="uploadTester.asp" onSubmit="return onSubmitForm();">
     <B>File names:</B><br>
        File 1: <input name="attach1" type="file" size=35><br>
        File 2: <input name="attach2" type="file" size=35><br>
        File 3: <input name="attach3" type="file" size=35><br>
        File 4: <input name="attach4" type="file" size=35><br>
        <br>
     <!-- These input elements are obviously optional and just included here for demonstration purposes -->
     <B>Additional fields (demo):</B><br>
     Enter a number: <input type="text" name="enter_a_number"><br>
        Checkbox values: <input type="checkbox" value="1" name="checkbox_values">-1 <input type="checkbox" value="2" name="checkbox_values">-2<br>
     <!-- End of additional elements -->
        <input style="margin-top:4" type=submit name=UploadButton value="Upload">
        <input style="margin-top:4" type=submit name=UploadButton2 value="Upload Location 2">
        </form>
    Code (markup):
    Then put a check for in the onsubmitform function and chenged the uploadsDirVar variable accordingly

    function onSubmitForm() {
        var formDOMObj = document.frmSend;
        
        if formDOMObj.UploadButton2.value = "" then
        	uploadsDirVar = "C:/Documents and Settings/TAinput/"
        else
        	uploadsDirVar = "C:/Documents and Settings/TAinput/Directory2"
        end if
        if (formDOMObj.attach1.value == "" && formDOMObj.attach2.value == "" && formDOMObj.attach3.value == "" && formDOMObj.attach4.value == "" )
            alert("Please press the browse button and pick a file.")
        else
            return true;
        return false;
    }
    Code (markup):
    I havent tested the code but that looked like the simplest way to accomlish what I think you want to do
     
    helpbeam, Jul 7, 2008 IP
  5. chrisj

    chrisj Well-Known Member

    Messages:
    606
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    101
    #5
    Thanks for your reply.

    I placed your outputform function code so that the UploadButton and browse field box are lined up on the page above the UploadButton2 and field. (I've commented out field 3 & 4).

    And I've added your code in the onsubmitform function

    I tested it and no matter which Upload button I select, all files go to the first location: C:/Documents and Settings/TAinput/".

    My goal is to have files go only to /TAinput/ when UploadButton is selected, and files go only to /TAinput1/ when UploadButton2 is selected.

    My goal is very close at hand thanks to your great assistance.

    Now, if you would be so kind to further assist me, How can I modify this so "files go only to /TAinput/ when UploadButton is selected, and files go only to /TAinput1/ when UploadButton2 is selected"?

    Thanks again for your help. Here is what the code now looks like with your code assistance.

    <%@ Language=VBScript %>
    <%
    option explicit
    Response.Expires = -1
    Server.ScriptTimeout = 600
    %>
    <!-- #include file="aspupload.asp" -->
    <%
    
    ' ****************************************************
      Dim uploadsDirVar, uploadsDirVar2
      uploadsDirVar = "C:/Documents and Settings/TAinput/"
      uploadsDirVar2 = "C:/Documents and Settings/TAinput1/"
    ' ****************************************************
    function OutputForm()
    %>
        <form name="frmSend" method="POST" enctype="multipart/form-data" action="uploadTester.asp" onSubmit="return onSubmitForm();">
     <B>File names:</B><br>
        File 1: <input name="attach1" type="file" size=35><br>
        <input style="margin-top:4" type=submit name=UploadButton value="Upload">
        <br><br><br>
        File 2: <input name="attach2" type="file" size=35><br>
        <input style="margin-top:4" type=submit name=UploadButton2 value="UploadLocation2">
    
        <!--File 3: <input name="attach3" type="file" size=35><br>-->
        <!--File 4: <input name="attach4" type="file" size=35><br>-->
        <br>
     <!-- These input elements are obviously optional and just included here for demonstration purposes -->
     <B>Additional fields (demo):</B><br>
     Enter a number: <input type="text" name="enter_a_number"><br>
        Checkbox values: <input type="checkbox" value="1" name="checkbox_values">-1 <input type="checkbox" value="2" name="checkbox_values">-2<br>
     <!-- End of additional elements -->
        </form>
    <%
    end function
    function TestEnvironment()
        Dim fso, fileName, testFile, streamTest
        TestEnvironment = ""
        Set fso = Server.CreateObject("Scripting.FileSystemObject")
        if not fso.FolderExists(uploadsDirVar) then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not exist.</B><br>The value of your uploadsDirVar is incorrect. Open uploadTester.asp in an editor and change the value of uploadsDirVar to the pathname of a directory with write permissions."
            exit function
        end if
        fileName = uploadsDirVar & "\test.txt"
        on error resume next
        Set testFile = fso.CreateTextFile(fileName, true)
        If Err.Number<>0 then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not have write permissions.</B><br>The value of your uploadsDirVar is incorrect. Open uploadTester.asp in an editor and change the value of uploadsDirVar to the pathname of a directory with write permissions."
            exit function
        end if
        Err.Clear
        testFile.Close
        fso.DeleteFile(fileName)
        If Err.Number<>0 then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not have delete permissions</B>, although it does have write permissions.<br>Change the permissions for IUSR_<I>computername</I> on this folder."
            exit function
        end if
        Err.Clear
        Set streamTest = Server.CreateObject("ADODB.Stream")
        If Err.Number<>0 then
            TestEnvironment = "<B>The ADODB object <I>Stream</I> is not available in your server.</B><br>Check the Requirements page for information about upgrading your ADODB libraries."
            exit function
        end if
        Set streamTest = Nothing
    end function
    function SaveFiles
        Dim Upload, fileName, fileSize, ks, i, fileKey
        Set Upload = New FreeASPUpload
        Upload.MaxFileSize = 10000
        Upload.Save(uploadsDirVar)
     ' If something fails inside the script, but the exception is handled
     If Err.Number<>0 then Exit function
        SaveFiles = ""
        ks = Upload.UploadedFiles.keys
        if (UBound(ks) <> -1) then
            SaveFiles = "<B>Files uploaded:</B> "
            for each fileKey in Upload.UploadedFiles.keys
                SaveFiles = SaveFiles & Upload.UploadedFiles(fileKey).FileName & " (" & Upload.UploadedFiles(fileKey).Length & "B) "
            next
        else
            SaveFiles = "The file name specified in the upload form does not correspond to a valid file in the system."
        end if
     SaveFiles = SaveFiles & "<br>Enter a number = " & Upload.Form("enter_a_number") & "<br>"
     SaveFiles = SaveFiles & "Checkbox values = " & Upload.Form("checkbox_values") & "<br>"
    end function
    %>
     
    <HTML>
    <HEAD>
    <Title>WTA</Title>
    <style type="text/css">
    body {margin: 1px 100px; 0px 100px;
    padding: 1px;}
    </style>
    </HEAD>
    <BODY leftMargin=0 topMargin=0 marginheight="0" marginwidth="0"  body {border-left: 1px solid #000; }>
    <TABLE cellSpacing=0 valign=top cellPadding=0 width=100% border=0>
     <TR valign=middle height=10>
      <TD class=headera1><IMG src="/images/clear.gif" height=1 width=159 border=0></TD>
      <TD width="100%" align=right class=headera2>&nbsp;</TD>
     </TR>
     <TR>
       <TD class=headera3><IMG src="/images/clear.gif" height=1 width=159 border=0></TD>
      <TD width="100%" align=right class=headera4>&nbsp;</TD>
      </tr>
    <TR valign=top>
      <TD><!--<IMG src="/smusermanager/images/logo1.gif" height=150 width=159 border=0>--></TD>
      <TD valign=left width=795 height=1><!--<font class=setuptext><IMG src="/smusermanager/images/clear.gif">--><IMG src="/images/topimg11.jpg">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG src="/images/topimg2.jpg"></font></TD>
     </TR>
     <TR valign=top height=1>
      <TD colspan=2 class=black><IMG src="/images/clear.gif" height=1 width=100% border=0></TD>
     </TR>
    </TABLE>
    </TD>
    <TABLE cellSpacing=20 valign=top cellPadding=0 height=100% width=100% border=0>
     <TR valign=top>
      <TD width=10%>
       <TABLE cellSpacing=0 valign=top cellPadding=0 width=100% border=0>
        <TR valign=middle>
         <TD valign=middle class=lightgrey><IMG src="/images/clear.gif" height=20 width=160 align=absmiddle></TD>
        </TR>
        <TR valign=top height=2>
         <TD><IMG src="/images/clear.gif" height=2 width=160 border=0></TD>
        </TR>
        <!--<TR valign=top height=3>
         <TD class=gray><IMG src="/images/clear.gif" height=3 width=160 border=0></TD>
        </TR>-->
       </TABLE>
    
       <TABLE cellSpacing=0 cellPadding=0 width=100% border=0>
        <TR>
         <TD><font class=tbody>
         <!--<IMG src="/smusermanager/images/sepline130.gif"><br>
         <font class=smallheading><b>Navigation Menu</b></font><br>
         <IMG src="/smusermanager/images/sepline130.gif">-->
    
       <form action="/smusermanager/members/default.asp?action=login" method=post name=login language="JAVASCRIPT" onsubmit="return Validate();"><input type=hidden name=todo value="login"><input type=hidden name=url value="/smusermanager/members/default.asp">
    <table border=0 cellspacing=0 cellpadding=0 width=95% align=center class=colorformborder><tr class=colorformborder><td><table border=0 cellspacing=0 width=100% cellpadding=0><tr class=colorformborder><td colspan=2><table border=0 cellspacing=1 cellpadding=5 width=100% colspan=2><tr class=colorformheader><td colspan=2><font class=textsize9><font color=white><b>Login Here</b></font></td></tr>
    <tr class=colorformfields><td align=center colspan=2><font class=textsize9></font></td></tr><tr class=colorformfieldsalt><td align=right width=50% ><font class=textsize9>Email Address</font></td><td><font class=textsize9><input class=fieldbox type=text size=20 maxlength=50 name="members_username"></font></td></tr>
    <tr class=colorformfields><td align=right width=20% ><font class=textsize9>Password</font></td><td><font class=textsize9><input class=fieldbox type=password size=20 maxlength=50 name="members_password"></font></td></tr><tr class=colorformfields><td colspan=2 align=right><font class=textsize9><input class=fieldbox type=submit value="Login" id=submit2 name=submit2></font></td></tr>
    </td></tr></table></td></tr></table></td></tr></table></form>
    <div style="padding-left: 24px;"> <font face="Arial" color="#000000" size="3"><img src="/images/Hphone.gif" style="vertical-align: middle;"> <a href="?action=login">&nbsp;&nbsp;Home</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone1.gif">--><img src="/images/hphone1.gif" style="vertical-align: middle;"><a href="?action=register">&nbsp;&nbsp;Register</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone2.gif">--><img src="/images/hphone2.gif" style="vertical-align: middle;"><a href="?action=forgotusername">&nbsp;&nbsp;FAQ</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone3.gif">--><img src="/images/hphone3.gif" style="vertical-align: middle;"><a href="?action=forgotusername">&nbsp;&nbsp;Terms Of Use</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone4.gif">--><img src="/images/hphone4.gif" hspace="4px" style="vertical-align: middle;">
    <a href="?action=forgotusername">&nbsp;&nbsp;Contact Us</a><br><br>
                            <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone5.gif">--><img src="/images/hphone5.gif" style="vertical-align: middle;"><a href="?action=forgotpass">&nbsp;&nbsp;Forgot Password</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone7.gif">--><img src="/images/hphone7.gif" style="vertical-align: middle;"><a href="?action=forgotusername">&nbsp;&nbsp;Forgot Username</a></font></div>
         <!--<IMG src="/smusermanager/images/clear.gif" width=1 height=5><br><IMG src="/smusermanager/images/link_arrow.gif"> <a href="?action=maillist">Newsletter</a>-->
         </font>
    <!--<IMG src="/images/headphone.gif">-->
    </TD>
        </TR>
       </TABLE>
      </TD>
      <TD width="1" height=100% background="/smusermanager/images/dot.gif">
       <TABLE cellSpacing=0 valign=top cellPadding=0 width=1 border=0>
        <TR valign=middle>
         <TD valign=middle class=lightgrey><IMG src="/smusermanager/images/clear.gif" height=20 width=1 align=absmiddle></TD>
        </TR>
        <TR valign=top height=2>
         <TD class=white><IMG src="/smusermanager/images/clear.gif" height=2 width=1 border=0></TD>
        </TR>
        <TR valign=top height=3>
         <TD class=gray><IMG src="/smusermanager/images/clear.gif" height=3 width=1 border=0></TD>
        </TR>
       </TABLE>
    
    </TD>
      <TD width=100%  style="border-left: Solid #EE7600 3px;">
       <TABLE cellSpacing=0 cellPadding=0 width=100% border=0>
        <TR valign=middle>
         <TD valign=middle class=lightgrey><IMG src="/smusermanager/images/clear.gif" height=20 width=1 align=absmiddle></TD>
        </TR>
        <TR valign=top height=2>
         <TD class=white><IMG src="/smusermanager/images/clear.gif" height=2 width=1 border=0></TD>
        </TR>
        <TR valign=top height=3>
         <TD class=gray><IMG src="/smusermanager/images/clear.gif" height=3 width=11 border=0></TD>
        </TR>
        <TR>
         <TD valign=top><font class=tbody>
         <style>
    .fieldbox
    {
        BACKGROUND: #ffffff;
        BORDER-BOTTOM: #666666 1px solid;
        BORDER-LEFT: #666666 1px solid;
        BORDER-RIGHT: #666666 1px solid;
        BORDER-TOP: #666666 1px solid;
        COLOR: #333333;
        FONT-FAMILY: Verdana, Helvetica, Arial;
        FONT-SIZE: 13px
    }
    .colorwhite
    {
        BACKGROUND-COLOR: white
    }
    .colorblack
    {
        BACKGROUND-COLOR: black
    }
    .colortopbar
    {
        BACKGROUND-COLOR: #999966
    }
    .colormenubar
    {
        BACKGROUND-COLOR: #999966
    }
    .colormenufields
    {
        BACKGROUND-COLOR: #cccc99
    }
    .colorformborder
    {
        BACKGROUND-COLOR: #ffffff
    }
    .colorformheader
    {
        BACKGROUND-COLOR: #A30100
    }
    .colorformfields
    {
        BACKGROUND-COLOR: #ffffff
    }
    .colorformfieldsalt
    {
        BACKGROUND-COLOR: #ffffff
    }
    .colorformresponse
    {
        BACKGROUND-COLOR: white
    }
    .textsize16 A
    {
        COLOR: navy;
        FONT-FAMILY: Verdana, Arial, helvetica;
        FONT-SIZE: 16pt;
        TEXT-DECORATION: none
    }
    .textsize16 A:active
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial, helvetica;
        FONT-SIZE: 16pt
    }
    .textsize16 A:hover
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial,
    helvetica;
        FONT-SIZE: 16pt;
        TEXT-DECORATION: none
    }
    .textsize9
    {
        COLOR: black;
        FONT-FAMILY: Verdana, Helvetica, Arial;
        FONT-SIZE: 9pt;
        LINE-HEIGHT: normal;
        TEXT-DECORATION: none
    }
    .textsize9 A
    {
        COLOR: navy;
        FONT-FAMILY: Verdana, Arial, helvetica;
        FONT-SIZE: 19pt;
        TEXT-DECORATION: none
    }
    .textsize9 A:active
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial, helvetica;
        FONT-SIZE: 19pt
    }
    .textsize9 A:hover
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial,
    helvetica;
        FONT-SIZE: 19pt;
        TEXT-DECORATION: none
    }
    .textsize8
    {
        COLOR: black;
        FONT-FAMILY: Verdana, Helvetica, Arial;
        FONT-SIZE: 18pt;
        LINE-HEIGHT: normal;
        TEXT-DECORATION: none
    }
    .textsize8 A
    {
        COLOR: navy;
        FONT-FAMILY: Verdana, Arial, helvetica;
        FONT-SIZE: 18pt;
        TEXT-DECORATION: none
    }
    .textsize8 A:active
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial, helvetica;
        FONT-SIZE: 18pt
    }
    .textsize8 A:hover
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial,
    helvetica;
        FONT-SIZE: 18pt;
        TEXT-DECORATION: none
    }
    .textsize16
    {
        COLOR: red;
        FONT-FAMILY: Verdana, Helvetica, Arial;
        FONT-SIZE: 16pt;
        TEXT-DECORATION: none
    }
    .headera1 {BACKGROUND-COLOR: #A30100; border-bottom: 5px solid #FCB514; }
    .headera2 {BACKGROUND-COLOR: #A30100; border-bottom: 5px solid #FCB514; }
    .headera3 {BACKGROUND-COLOR: #ffffff; border-top: 1px solid #}
    .headera4 {BACKGROUND-COLOR: #ffffff; border-top: 1px solid #}
    .black {BACKGROUND-COLOR: white}
    .white {BACKGROUND-COLOR: }
    .lightgrey {BACKGROUND-COLOR: #ffffff}
    .gray {BACKGROUND-COLOR: #ffffff}
    
    .link {FONT-SIZE: 18pt;COLOR: ffffff;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .link A {COLOR: white;TEXT-DECORATION: none}
    .link A:active {COLOR: white;TEXT-DECORATION: none}
    .link A:hover {COLOR: white;TEXT-DECORATION: none}
    .linksmall {FONT-SIZE: 18pt;COLOR: #99ccff;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .linksmall A {COLOR: #99ccff;TEXT-DECORATION: none}
    .linksmall A:active {COLOR: #99ccff;TEXT-DECORATION: none}
    .linksmall A:hover {COLOR: #3366ff;TEXT-DECORATION: none}
    .pathlink {FONT-SIZE: 7.5pt;COLOR: #666666;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .pathlink A {COLOR: #666666;TEXT-DECORATION: none}
    .pathlink A:active {COLOR: #666666;TEXT-DECORATION: none}
    .pathlink A:hover {COLOR: #666666;TEXT-DECORATION: none}
    .setuptext {FONT-SIZE: 24pt;COLOR: lightgrey;FONT-weight: bold;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .setuptextsmall {FONT-SIZE: 10pt;COLOR: lightgrey;FONT-weight: bold;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .heading {FONT-SIZE: 10pt;COLOR: #6384ad;FONT-weight: bold;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .smallheading {FONT-SIZE: 8pt;COLOR: #6384ad;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .tbody {FONT-SIZE: 12pt;COLOR: black;LINE-HEIGHT: 13pt;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .tbody A {COLOR: #000000;TEXT-DECORATION: none}
    .tbody A:active {COLOR: #6384ad;TEXT-DECORATION: none}
    .tbody A:hover {COLOR: #6384ad;TEXT-DECORATION: underline}
    .textred {FONT-SIZE: 8pt;COLOR: #BD0000;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .textgreen {FONT-SIZE: 8pt;COLOR: #008000;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .textnavy {FONT-SIZE: 8pt;COLOR: #333399;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .textgray {FONT-SIZE: 8pt;COLOR: gray;FONT-STYLE: italic;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    /* START CSS */
    #content {
        float: left;
        width: 596px;
        padding-left: 20px;
        background-color: #ffffff;
    }
    #column1 {
           float: left;
           padding: 0px;
           padding-right:0px
           padding-left: 0px;
           background-color: #ffffff;
           width: 270px;
    }
    #column2 {
           float: left;
           margin:0
           padding: 10px;
           padding-left: 20px;
           padding right: 0px
           background-color: #AAAAAA;
           width: 240px;
    }
    
    /* END CSS */
    </style>
    <SCRIPT LANGUAGE="JavaScript">errorcolor = '#eeeeee';</Script>
    <table cellspacing=0 border=0 cellpadding=40 width=100% align=left>
     <tr>
      <td align=left valign=middle>
    <script language="JAVASCRIPT">
     var errfound = false;
      function ValidLength(item, len) {
         return (item.length >= len);
      }
      function error(elem, text) {
         if (errfound) return;
         window.alert(text);
         elem.select();
         elem.focus();
         elem.style.backgroundColor=errorcolor;
         errfound = true;
      }
      function Validate() {
         errfound = false;
         d=document.login
         if (!ValidLength(d.members_username.value,1))error(d.members_username,"Username should not be blank.");
         if (!ValidLength(d.members_password.value,1))error(d.members_password,"Password should not be blank.");
         return !errfound;
      }
    </script>
    <TR valign=top>
    <div style="border:0px solid #000000; width: 705px; padding-left: 75px; text-align:top;">
    
    <style>
    BODY {background-color: white;font-family:arial; font-size:12}
    </style>
    <script>
    
    function onSubmitForm() {
        var formDOMObj = document.frmSend;
     if formDOMObj.UploadButton2.value = "" then
        	uploadsDirVar = "C:/Documents and Settings/TAinput/"
        else
        	uploadsDirVar2 = "C:/Documents and Settings/TAinput1/"
        end if
        if (formDOMObj.attach1.value == "" && formDOMObj.attach2.value == "" && formDOMObj.attach3.value == "" && formDOMObj.attach4.value == "" )
            alert("Please press the browse button and pick a file.")
        else
            return true;
        return false;
    }
    
    </script>
    </HEAD>
    <BODY>
    <br><br>
    <div style="border-bottom: #A91905 2px solid;font-size:16">Upload files to your server</div>
    <%
    Dim diagnostics
    if Request.ServerVariables("REQUEST_METHOD") <> "POST" then
        diagnostics = TestEnvironment()
        if diagnostics<>"" then
            response.write "<div style=""margin-left:20; margin-top:30; margin-right:30; margin-bottom:30;"">"
            response.write diagnostics
            response.write "<p>After you correct this problem, reload the page."
            response.write "</div>"
        else
            response.write "<div style=""margin-left:150"">"
            OutputForm()
            response.write "</div>"
        end if
    else
        response.write "<div style=""margin-left:150"">"
        OutputForm()
        response.write SaveFiles()
        response.write "<br><br></div>"
    end if
    %>
    <br><br>
    </p></div></tr></td></tr>
    </table></TD></TR></TABLE>
      </TD>
      <!--<TD width="1" height=100% background="/smusermanager/images/dot.gif"><IMG src="/smusermanager/images/clear.gif" width="1" height=100% border=0></TD>-->
     </TR>
    </TABLE>
    <TABLE cellSpacing=0 valign=bottom cellPadding=0 width=100% border=0>
     <TR valign=top height=4>
      <TD colspan=2 class=gray><IMG src="/smusermanager/images/clear.gif" height=4 width=25 border=0></TD>
     </TR>
     <TR valign=middle height=25>
      <TD class=headera2>&nbsp;<FONT class=linksmall><font face="Arial" color="#ffffff" size="2">Copyright © 2007 <a href="" target="_blank"></a>. All Rights Reserved.</FONT></TD>
      <TD align=right class=headera2><font class=linksmall><font face="Arial" color="#ffffff" size="2">Email : <A href=""></A> &nbsp;&nbsp;&nbsp; </font></TD>
     </TR>
    </TABLE>
    </Body>
    </BODY>
    </HTML>
    Code (markup):
     
    chrisj, Jul 8, 2008 IP
  6. helpbeam

    helpbeam Guest

    Messages:
    30
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #6
    Change this function:

    function onSubmitForm() {
        var formDOMObj = document.frmSend;
     if formDOMObj.UploadButton2.value = "" then
        	uploadsDirVar = "C:/Documents and Settings/TAinput/"
        else
        	uploadsDirVar2 = "C:/Documents and Settings/TAinput1/"
        end if
        if (formDOMObj.attach1.value == "" && formDOMObj.attach2.value == "" && formDOMObj.attach3.value == "" && formDOMObj.attach4.value == "" )
            alert("Please press the browse button and pick a file.")
        else
            return true;
        return false;
    }
    Code (markup):

    To this:
    function onSubmitForm() {
        var formDOMObj = document.frmSend;
     if formDOMObj.UploadButton2.value = "" then
        	uploadsDirVar = "C:/Documents and Settings/TAinput/"
        else
        	uploadsDirVar = "C:/Documents and Settings/TAinput1/"
        end if
        if (formDOMObj.attach1.value == "" && formDOMObj.attach2.value == "" && formDOMObj.attach3.value == "" && formDOMObj.attach4.value == "" )
            alert("Please press the browse button and pick a file.")
        else
            return true;
        return false;
    }
    Code (markup):
    It looks like the filesave function always looks at the
    uploadsDirVar variable globaly so you can't create a new variable (uploadsDirVar 2) you have to just change the uploadsDirVar value
     
    helpbeam, Jul 8, 2008 IP
  7. chrisj

    chrisj Well-Known Member

    Messages:
    606
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    101
    #7
    Thanks for your prompt reply and assistance. Thanks much.

    I made the change that you suggested, however, all files still seem to be going to the one location: C:/Documents and Settings/TAinput/, whether I select the UploadButton or the UploadButton2.

    Does the "Upload Location 2" in this line: <input style="margin-top:4" type=submit name=UploadButton2 value="Upload Location 2"> need to somehow be defined as C:/Documents and Settings/TAinput1/ ?

    Or are all files going to always go to C:/Documents and Settings/TAinput/ because "filesave function always looks at the uploadsDirVar variable globaly so you can't create a new variable" ?

    Thanks again for your time. I look forward to your reply.
     
    chrisj, Jul 8, 2008 IP
  8. helpbeam

    helpbeam Guest

    Messages:
    30
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #8
    oops. you prbably have to comment out this line
    in the beginning
    uploadsDirVar = "C:/Documents and Settings/TAinput/"
    it is hardcoding it each time

    Change this
    ' ****************************************************
      Dim uploadsDirVar
      uploadsDirVar = "C:/Documents and Settings/TAinput/"
    ' ****************************************************
    Code (markup):
    To this:
    ' ****************************************************
      Dim uploadsDirVar
    '  uploadsDirVar = "C:/Documents and Settings/TAinput/"
    ' ****************************************************
    Code (markup):
     
    helpbeam, Jul 8, 2008 IP
  9. chrisj

    chrisj Well-Known Member

    Messages:
    606
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    101
    #9
    Thanks for your reply.

    I have made the changes you have suggested, and now i see this message on the upload page:

    "Folder does not exist.
    The value of your uploadsDirVar is incorrect. Open uploadTester.asp in an editor and change the value of uploadsDirVar to the pathname of a directory with write permissions.
    After you correct this problem, reload the page."
     
    chrisj, Jul 8, 2008 IP
  10. helpbeam

    helpbeam Guest

    Messages:
    30
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #10
    Sorry, I was looking at the wrong part. Here, I just downloaded the whole thing to my box to test. Thus should work.

    <%@ Language=VBScript %>
    <%
    option explicit
    Response.Expires = -1
    Server.ScriptTimeout = 600
    %>
    <!-- #include file="aspupload.asp" -->
    <%
    
    ' ****************************************************
      Dim uploadsDirVar
      uploadsDirVar = "C:/Documents and Settings/TAinput/"
    ' ****************************************************
    function OutputForm()
    %>
        <form name="frmSend" method="POST" enctype="multipart/form-data" action="uploadTester.asp" onSubmit="return onSubmitForm();">
     <B>File names:</B><br>
        File 1: <input name="attach1" type="file" size=35><br>
        File 2: <input name="attach2" type="file" size=35><br>
        File 3: <input name="attach3" type="file" size=35><br>
        File 4: <input name="attach4" type="file" size=35><br>
        <br>
     <!-- These input elements are obviously optional and just included here for demonstration purposes -->
     <B>Additional fields (demo):</B><br>
     Enter a number: <input type="text" name="enter_a_number"><br>
        Checkbox values: <input type="checkbox" value="1" name="checkbox_values">-1 <input type="checkbox" value="2" name="checkbox_values">-2<br>
     <!-- End of additional elements -->
            <input style="margin-top:4" type=submit name="Loc1" value="Upload1">
    	    <input style="margin-top:4" type=submit name="Loc2" value="Upload2">
    
        </form>
    <%
    end function
    function TestEnvironment()
        Dim fso, fileName, testFile, streamTest
        TestEnvironment = ""
        Set fso = Server.CreateObject("Scripting.FileSystemObject")
        if not fso.FolderExists(uploadsDirVar) then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not exist.</B><br>The value of your uploadsDirVar is incorrect. Open uploadTester.asp in an editor and change the value of uploadsDirVar to the pathname of a directory with write permissions."
            exit function
        end if
        fileName = uploadsDirVar & "\test.txt"
        on error resume next
        Set testFile = fso.CreateTextFile(fileName, true)
        If Err.Number<>0 then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not have write permissions.</B><br>The value of your uploadsDirVar is incorrect. Open uploadTester.asp in an editor and change the value of uploadsDirVar to the pathname of a directory with write permissions."
            exit function
        end if
        Err.Clear
        testFile.Close
        fso.DeleteFile(fileName)
        If Err.Number<>0 then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not have delete permissions</B>, although it does have write permissions.<br>Change the permissions for IUSR_<I>computername</I> on this folder."
            exit function
        end if
        Err.Clear
        Set streamTest = Server.CreateObject("ADODB.Stream")
        If Err.Number<>0 then
            TestEnvironment = "<B>The ADODB object <I>Stream</I> is not available in your server.</B><br>Check the Requirements page for information about upgrading your ADODB libraries."
            exit function
        end if
        Set streamTest = Nothing
    end function
    function SaveFiles
        Dim Upload, fileName, fileSize, ks, i, fileKey
        Set Upload = New FreeASPUpload
        Upload.MaxFileSize = 10000
        Upload.Save(uploadsDirVar)
     ' If something fails inside the script, but the exception is handled
     If Err.Number<>0 then Exit function
        SaveFiles = ""
        ks = Upload.UploadedFiles.keys
        if (UBound(ks) <> -1) then
            SaveFiles = "<B>Files uploaded:</B> "
            for each fileKey in Upload.UploadedFiles.keys
                SaveFiles = SaveFiles & Upload.UploadedFiles(fileKey).FileName & " (" & Upload.UploadedFiles(fileKey).Length & "B) "
            next
        else
            SaveFiles = "The file name specified in the upload form does not correspond to a valid file in the system."
        end if
     SaveFiles = SaveFiles & "<br>Enter a number = " & Upload.Form("enter_a_number") & "<br>"
     SaveFiles = SaveFiles & "Checkbox values = " & Upload.Form("checkbox_values") & "<br>"
    end function
    %>
    
    <HTML>
    <HEAD>
    <Title>WTA</Title>
    <style type="text/css">
    body {margin: 1px 100px; 0px 100px;
    padding: 1px;}
    </style>
    </HEAD>
    <BODY leftMargin=0 topMargin=0 marginheight="0" marginwidth="0"  body {border-left: 1px solid #000; }>
    <TABLE cellSpacing=0 valign=top cellPadding=0 width=100% border=0>
     <TR valign=middle height=10>
      <TD class=headera1><IMG src="/images/clear.gif" height=1 width=159 border=0></TD>
      <TD width="100%" align=right class=headera2>&nbsp;</TD>
     </TR>
     <TR>
       <TD class=headera3><IMG src="/images/clear.gif" height=1 width=159 border=0></TD>
      <TD width="100%" align=right class=headera4>&nbsp;</TD>
      </tr>
    <TR valign=top>
      <TD><!--<IMG src="/smusermanager/images/logo1.gif" height=150 width=159 border=0>--></TD>
      <TD valign=left width=795 height=1><!--<font class=setuptext><IMG src="/smusermanager/images/clear.gif">--><IMG src="/images/topimg11.jpg">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG src="/images/topimg2.jpg"></font></TD>
     </TR>
     <TR valign=top height=1>
      <TD colspan=2 class=black><IMG src="/images/clear.gif" height=1 width=100% border=0></TD>
     </TR>
    </TABLE>
    </TD>
    <TABLE cellSpacing=20 valign=top cellPadding=0 height=100% width=100% border=0>
     <TR valign=top>
      <TD width=10%>
       <TABLE cellSpacing=0 valign=top cellPadding=0 width=100% border=0>
        <TR valign=middle>
         <TD valign=middle class=lightgrey><IMG src="/images/clear.gif" height=20 width=160 align=absmiddle></TD>
        </TR>
        <TR valign=top height=2>
         <TD><IMG src="/images/clear.gif" height=2 width=160 border=0></TD>
        </TR>
        <!--<TR valign=top height=3>
         <TD class=gray><IMG src="/images/clear.gif" height=3 width=160 border=0></TD>
        </TR>-->
       </TABLE>
    
       <TABLE cellSpacing=0 cellPadding=0 width=100% border=0>
        <TR>
         <TD><font class=tbody>
         <!--<IMG src="/smusermanager/images/sepline130.gif"><br>
         <font class=smallheading><b>Navigation Menu</b></font><br>
         <IMG src="/smusermanager/images/sepline130.gif">-->
    
       <form action="/smusermanager/members/default.asp?action=login" method=post name=login language="JAVASCRIPT" onsubmit="return Validate();"><input type=hidden name=todo value="login"><input type=hidden name=url value="/smusermanager/members/default.asp">
    <table border=0 cellspacing=0 cellpadding=0 width=95% align=center class=colorformborder><tr class=colorformborder><td><table border=0 cellspacing=0 width=100% cellpadding=0><tr class=colorformborder><td colspan=2><table border=0 cellspacing=1 cellpadding=5 width=100% colspan=2><tr class=colorformheader><td colspan=2><font class=textsize9><font color=white><b>Login Here</b></font></td></tr>
    <tr class=colorformfields><td align=center colspan=2><font class=textsize9></font></td></tr><tr class=colorformfieldsalt><td align=right width=50% ><font class=textsize9>Email Address</font></td><td><font class=textsize9><input class=fieldbox type=text size=20 maxlength=50 name="members_username"></font></td></tr>
    <tr class=colorformfields><td align=right width=20% ><font class=textsize9>Password</font></td><td><font class=textsize9><input class=fieldbox type=password size=20 maxlength=50 name="members_password"></font></td></tr><tr class=colorformfields><td colspan=2 align=right><font class=textsize9><input class=fieldbox type=submit value="Login" id=submit2 name=submit2></font></td></tr>
    </td></tr></table></td></tr></table></td></tr></table></form>
    <div style="padding-left: 24px;"> <font face="Arial" color="#000000" size="3"><img src="/images/Hphone.gif" style="vertical-align: middle;"> <a href="?action=login">&nbsp;&nbsp;Home</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone1.gif">--><img src="/images/hphone1.gif" style="vertical-align: middle;"><a href="?action=register">&nbsp;&nbsp;Register</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone2.gif">--><img src="/images/hphone2.gif" style="vertical-align: middle;"><a href="?action=forgotusername">&nbsp;&nbsp;FAQ</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone3.gif">--><img src="/images/hphone3.gif" style="vertical-align: middle;"><a href="?action=forgotusername">&nbsp;&nbsp;Terms Of Use</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone4.gif">--><img src="/images/hphone4.gif" hspace="4px" style="vertical-align: middle;">
    <a href="?action=forgotusername">&nbsp;&nbsp;Contact Us</a><br><br>
                            <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone5.gif">--><img src="/images/hphone5.gif" style="vertical-align: middle;"><a href="?action=forgotpass">&nbsp;&nbsp;Forgot Password</a><br><br>
          <IMG src="/images/clear.gif" width=1 height=5><br><!--<IMG src="/images/hphone7.gif">--><img src="/images/hphone7.gif" style="vertical-align: middle;"><a href="?action=forgotusername">&nbsp;&nbsp;Forgot Username</a></font></div>
         <!--<IMG src="/smusermanager/images/clear.gif" width=1 height=5><br><IMG src="/smusermanager/images/link_arrow.gif"> <a href="?action=maillist">Newsletter</a>-->
         </font>
    <!--<IMG src="/images/headphone.gif">-->
    </TD>
        </TR>
       </TABLE>
      </TD>
      <TD width="1" height=100% background="/smusermanager/images/dot.gif">
       <TABLE cellSpacing=0 valign=top cellPadding=0 width=1 border=0>
        <TR valign=middle>
         <TD valign=middle class=lightgrey><IMG src="/smusermanager/images/clear.gif" height=20 width=1 align=absmiddle></TD>
        </TR>
        <TR valign=top height=2>
         <TD class=white><IMG src="/smusermanager/images/clear.gif" height=2 width=1 border=0></TD>
        </TR>
        <TR valign=top height=3>
         <TD class=gray><IMG src="/smusermanager/images/clear.gif" height=3 width=1 border=0></TD>
        </TR>
       </TABLE>
    
    </TD>
      <TD width=100%  style="border-left: Solid #EE7600 3px;">
       <TABLE cellSpacing=0 cellPadding=0 width=100% border=0>
        <TR valign=middle>
         <TD valign=middle class=lightgrey><IMG src="/smusermanager/images/clear.gif" height=20 width=1 align=absmiddle></TD>
        </TR>
        <TR valign=top height=2>
         <TD class=white><IMG src="/smusermanager/images/clear.gif" height=2 width=1 border=0></TD>
        </TR>
        <TR valign=top height=3>
         <TD class=gray><IMG src="/smusermanager/images/clear.gif" height=3 width=11 border=0></TD>
        </TR>
        <TR>
         <TD valign=top><font class=tbody>
         <style>
    .fieldbox
    {
        BACKGROUND: #ffffff;
        BORDER-BOTTOM: #666666 1px solid;
        BORDER-LEFT: #666666 1px solid;
        BORDER-RIGHT: #666666 1px solid;
        BORDER-TOP: #666666 1px solid;
        COLOR: #333333;
        FONT-FAMILY: Verdana, Helvetica, Arial;
        FONT-SIZE: 13px
    }
    .colorwhite
    {
        BACKGROUND-COLOR: white
    }
    .colorblack
    {
        BACKGROUND-COLOR: black
    }
    .colortopbar
    {
        BACKGROUND-COLOR: #999966
    }
    .colormenubar
    {
        BACKGROUND-COLOR: #999966
    }
    .colormenufields
    {
        BACKGROUND-COLOR: #cccc99
    }
    .colorformborder
    {
        BACKGROUND-COLOR: #ffffff
    }
    .colorformheader
    {
        BACKGROUND-COLOR: #A30100
    }
    .colorformfields
    {
        BACKGROUND-COLOR: #ffffff
    }
    .colorformfieldsalt
    {
        BACKGROUND-COLOR: #ffffff
    }
    .colorformresponse
    {
        BACKGROUND-COLOR: white
    }
    .textsize16 A
    {
        COLOR: navy;
        FONT-FAMILY: Verdana, Arial, helvetica;
        FONT-SIZE: 16pt;
        TEXT-DECORATION: none
    }
    .textsize16 A:active
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial, helvetica;
        FONT-SIZE: 16pt
    }
    .textsize16 A:hover
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial,
    helvetica;
        FONT-SIZE: 16pt;
        TEXT-DECORATION: none
    }
    .textsize9
    {
        COLOR: black;
        FONT-FAMILY: Verdana, Helvetica, Arial;
        FONT-SIZE: 9pt;
        LINE-HEIGHT: normal;
        TEXT-DECORATION: none
    }
    .textsize9 A
    {
        COLOR: navy;
        FONT-FAMILY: Verdana, Arial, helvetica;
        FONT-SIZE: 19pt;
        TEXT-DECORATION: none
    }
    .textsize9 A:active
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial, helvetica;
        FONT-SIZE: 19pt
    }
    .textsize9 A:hover
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial,
    helvetica;
        FONT-SIZE: 19pt;
        TEXT-DECORATION: none
    }
    .textsize8
    {
        COLOR: black;
        FONT-FAMILY: Verdana, Helvetica, Arial;
        FONT-SIZE: 18pt;
        LINE-HEIGHT: normal;
        TEXT-DECORATION: none
    }
    .textsize8 A
    {
        COLOR: navy;
        FONT-FAMILY: Verdana, Arial, helvetica;
        FONT-SIZE: 18pt;
        TEXT-DECORATION: none
    }
    .textsize8 A:active
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial, helvetica;
        FONT-SIZE: 18pt
    }
    .textsize8 A:hover
    {
        COLOR: navy;
        FONT-FAMILY: verdana, arial,
    helvetica;
        FONT-SIZE: 18pt;
        TEXT-DECORATION: none
    }
    .textsize16
    {
        COLOR: red;
        FONT-FAMILY: Verdana, Helvetica, Arial;
        FONT-SIZE: 16pt;
        TEXT-DECORATION: none
    }
    .headera1 {BACKGROUND-COLOR: #A30100; border-bottom: 5px solid #FCB514; }
    .headera2 {BACKGROUND-COLOR: #A30100; border-bottom: 5px solid #FCB514; }
    .headera3 {BACKGROUND-COLOR: #ffffff; border-top: 1px solid #}
    .headera4 {BACKGROUND-COLOR: #ffffff; border-top: 1px solid #}
    .black {BACKGROUND-COLOR: white}
    .white {BACKGROUND-COLOR: }
    .lightgrey {BACKGROUND-COLOR: #ffffff}
    .gray {BACKGROUND-COLOR: #ffffff}
    
    .link {FONT-SIZE: 18pt;COLOR: ffffff;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .link A {COLOR: white;TEXT-DECORATION: none}
    .link A:active {COLOR: white;TEXT-DECORATION: none}
    .link A:hover {COLOR: white;TEXT-DECORATION: none}
    .linksmall {FONT-SIZE: 18pt;COLOR: #99ccff;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .linksmall A {COLOR: #99ccff;TEXT-DECORATION: none}
    .linksmall A:active {COLOR: #99ccff;TEXT-DECORATION: none}
    .linksmall A:hover {COLOR: #3366ff;TEXT-DECORATION: none}
    .pathlink {FONT-SIZE: 7.5pt;COLOR: #666666;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .pathlink A {COLOR: #666666;TEXT-DECORATION: none}
    .pathlink A:active {COLOR: #666666;TEXT-DECORATION: none}
    .pathlink A:hover {COLOR: #666666;TEXT-DECORATION: none}
    .setuptext {FONT-SIZE: 24pt;COLOR: lightgrey;FONT-weight: bold;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .setuptextsmall {FONT-SIZE: 10pt;COLOR: lightgrey;FONT-weight: bold;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .heading {FONT-SIZE: 10pt;COLOR: #6384ad;FONT-weight: bold;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .smallheading {FONT-SIZE: 8pt;COLOR: #6384ad;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .tbody {FONT-SIZE: 12pt;COLOR: black;LINE-HEIGHT: 13pt;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .tbody A {COLOR: #000000;TEXT-DECORATION: none}
    .tbody A:active {COLOR: #6384ad;TEXT-DECORATION: none}
    .tbody A:hover {COLOR: #6384ad;TEXT-DECORATION: underline}
    .textred {FONT-SIZE: 8pt;COLOR: #BD0000;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .textgreen {FONT-SIZE: 8pt;COLOR: #008000;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .textnavy {FONT-SIZE: 8pt;COLOR: #333399;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    .textgray {FONT-SIZE: 8pt;COLOR: gray;FONT-STYLE: italic;FONT-FAMILY: Verdana, sans-serif, Helvetica, Arial;}
    /* START CSS */
    #content {
        float: left;
        width: 596px;
        padding-left: 20px;
        background-color: #ffffff;
    }
    #column1 {
           float: left;
           padding: 0px;
           padding-right:0px
           padding-left: 0px;
           background-color: #ffffff;
           width: 270px;
    }
    #column2 {
           float: left;
           margin:0
           padding: 10px;
           padding-left: 20px;
           padding right: 0px
           background-color: #AAAAAA;
           width: 240px;
    }
    
    /* END CSS */
    </style>
    <SCRIPT LANGUAGE="JavaScript">errorcolor = '#eeeeee';</Script>
    <table cellspacing=0 border=0 cellpadding=40 width=100% align=left>
     <tr>
      <td align=left valign=middle>
    <script language="JAVASCRIPT">
     var errfound = false;
      function ValidLength(item, len) {
         return (item.length >= len);
      }
      function error(elem, text) {
         if (errfound) return;
         window.alert(text);
         elem.select();
         elem.focus();
         elem.style.backgroundColor=errorcolor;
         errfound = true;
      }
      function Validate() {
         errfound = false;
         d=document.login
         if (!ValidLength(d.members_username.value,1))error(d.members_username,"Username should not be blank.");
         if (!ValidLength(d.members_password.value,1))error(d.members_password,"Password should not be blank.");
         return !errfound;
      }
    </script>
    <TR valign=top>
    <div style="border:0px solid #000000; width: 705px; padding-left: 75px; text-align:top;">
    
    <style>
    BODY {background-color: white;font-family:arial; font-size:12}
    </style>
    <script>
    function onSubmitForm() {
        var formDOMObj = document.frmSend;
        if (formDOMObj.attach1.value == "" && formDOMObj.attach2.value == "" && formDOMObj.attach3.value == "" && formDOMObj.attach4.value == "" )
            alert("Please press the browse button and pick a file.")
        else
            return true;
        return false;
    }
    </script>
    </HEAD>
    <BODY>
    <br><br>
    <div style="border-bottom: #A91905 2px solid;font-size:16">Upload files to your server</div>
    <%
    Dim diagnostics
    if Request.ServerVariables("REQUEST_METHOD") <> "POST" then
        diagnostics = TestEnvironment()
        if diagnostics<>"" then
            response.write "<div style=""margin-left:20; margin-top:30; margin-right:30; margin-bottom:30;"">"
            response.write diagnostics
            response.write "<p>After you correct this problem, reload the page."
            response.write "</div>"
        else
            response.write "<div style=""margin-left:150"">"
            OutputForm()
            response.write "</div>"
        end if
    else
        if Request("Loc2") <> "" then
    	   uploadsDirVar="C:/Documents and Settings/TAinput/"
        else
    	   uploadsDirVar="C:/Documents and Settings/TAinput1/"
        end if
    
        response.write "<div style=""margin-left:150"">"
        OutputForm()
        response.write SaveFiles()
        response.write "<br><br></div>"
    end if
    %>
    <br><br>
    </p></div></tr></td></tr>
    </table></TD></TR></TABLE>
      </TD>
      <!--<TD width="1" height=100% background="/smusermanager/images/dot.gif"><IMG src="/smusermanager/images/clear.gif" width="1" height=100% border=0></TD>-->
     </TR>
    </TABLE>
    <TABLE cellSpacing=0 valign=bottom cellPadding=0 width=100% border=0>
     <TR valign=top height=4>
      <TD colspan=2 class=gray><IMG src="/smusermanager/images/clear.gif" height=4 width=25 border=0></TD>
     </TR>
     <TR valign=middle height=25>
      <TD class=headera2>&nbsp;<FONT class=linksmall><font face="Arial" color="#ffffff" size="2">Copyright © 2007 <a href="" target="_blank"></a>. All Rights Reserved.</FONT></TD>
      <TD align=right class=headera2><font class=linksmall><font face="Arial" color="#ffffff" size="2">Email : <A href=""></A> &nbsp;&nbsp;&nbsp; </font></TD>
     </TR>
    </TABLE>
    </Body>
    </BODY>
    </HTML>
    Code (markup):
     
    helpbeam, Jul 8, 2008 IP
  11. helpbeam

    helpbeam Guest

    Messages:
    30
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #11
    if you're wondering what specifically got changed
    This function

    function OutputForm()
    %>
        <form name="frmSend" method="POST" enctype="multipart/form-data" action="uploadTester.asp" onSubmit="return onSubmitForm();">
     <B>File names:</B><br>
        File 1: <input name="attach1" type="file" size=35><br>
        File 2: <input name="attach2" type="file" size=35><br>
        File 3: <input name="attach3" type="file" size=35><br>
        File 4: <input name="attach4" type="file" size=35><br>
        <br>
     <!-- These input elements are obviously optional and just included here for demonstration purposes -->
     <B>Additional fields (demo):</B><br>
     Enter a number: <input type="text" name="enter_a_number"><br>
        Checkbox values: <input type="checkbox" value="1" name="checkbox_values">-1 <input type="checkbox" value="2" name="checkbox_values">-2<br>
     <!-- End of additional elements -->
            <input style="margin-top:4" type=submit name="Loc1" value="Upload1">
    	    <input style="margin-top:4" type=submit name="Loc2" value="Upload2">
    
        </form>
    Code (markup):

    And this snip:
    <%
    Dim diagnostics
    if Request.ServerVariables("REQUEST_METHOD") <> "POST" then
        diagnostics = TestEnvironment()
        if diagnostics<>"" then
            response.write "<div style=""margin-left:20; margin-top:30; margin-right:30; margin-bottom:30;"">"
            response.write diagnostics
            response.write "<p>After you correct this problem, reload the page."
            response.write "</div>"
        else
            response.write "<div style=""margin-left:150"">"
            OutputForm()
            response.write "</div>"
        end if
    else
        if Request("Loc2") <> "" then
    	   uploadsDirVar="C:/Documents and Settings/TAinput/"
        else
    	   uploadsDirVar="C:/Documents and Settings/TAinput1/"
        end if
    
        response.write "<div style=""margin-left:150"">"
        OutputForm()
        response.write SaveFiles()
        response.write "<br><br></div>"
    end if
    %>
    Code (markup):
    Disregard the other changes previously and just cut and paste the whole thing from my previous post
     
    helpbeam, Jul 8, 2008 IP
  12. chrisj

    chrisj Well-Known Member

    Messages:
    606
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    101
    #12
    Thanks again for your reply and assistance. Much thanks.

    I "cut and pasted the whole thing" from your previous post, and upon uploading, all files went to TAinput1.

    So I added "what specifically got changed" to my code, and upon uploading all files still went to TAinput1, despite upload using both buttons. Here is my code, if you're interested in looking it over, I'd greatly appreciate it. It seems we're awfully close to solving this mystery. Anyway thanks so much for your time and help.

    <%@ Language=VBScript %>
    <%
    'option explicit
    Response.Expires = -1
    Server.ScriptTimeout = 600
    
    Dim MMS_GROUP_NUMBER
        MMS_GROUP_NUMBER = "2,3"
    
    Call OPEN_DB()
        set PPLRS = MyConn.Execute( "SELECT * from mms_tbl_user_cate where fldUSER_ID = " & session( "PMMS_ID" ) &_
        							" AND fldCATE_ID = 3" )
        IF NOT PPLRS.EOF THEN
        PPL_GROUP_MEMBER = "Y"
    	END IF
    	set PPLRS = nothing
    	MyConn.close
        Set MyConn = Nothing
    
    %>
    
    <!--#include virtual="/Mhome1/aspUpload.asp" -->
    <!--#include VIRTUAL="/Mhome1/app_config.asp"-->
    <!--#include VIRTUAL="/Mhome1/inc_enforce.asp"-->
    <!--#include file="inc_header.asp"-->
    
    <%
    
    ' ****************************************************
      Dim uploadsDirVar
      uploadsDirVar = "C:/Documents and Settings/TAinput/"
      'response.write uploadsDirVar
    ' ****************************************************
    
    function OutputForm()
    %>
        <form name="frmSend" method="POST" enctype="multipart/form-data" action="uploadTester.asp" onSubmit="return onSubmitForm();">
    	<B></B><br><input name="attach1" type="file" size=35><br>
    	<input style="margin-top:4" type=submit name="Loc1" value="Upload1"><br><br><br>
        <input name="attach2" type="file" size=35><br>
        <input style="margin-top:4" type=submit name="Loc2" value="Upload2">
        <br>
    	<!-- These input elements are obviously optional and just included here for demonstration purposes -->
    	<!--<B>Additional fields (demo):</B><br>-->
    	<!--Enter a number: <input type="text" name="enter_a_number" size="20"><br>-->
        <!--Checkbox values: <input type="checkbox" value="1" name="checkbox_values">-1 <input type="checkbox" value="2" name="checkbox_values">-2<br>-->
    	<!-- End of additional elements -->
        </form>
    <%
    end function
    
    function TestEnvironment()
        Dim fso, fileName, testFile, streamTest
        TestEnvironment = ""
        Set fso = Server.CreateObject("Scripting.FileSystemObject")
        if not fso.FolderExists(uploadsDirVar) then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not exist.</B><br>The value of your uploadsDirVar is incorrect. Open uploadTester.asp in an editor and change the value of uploadsDirVar to the pathname of a directory with write permissions."
            exit function
        end if
        fileName = uploadsDirVar & "\test.txt"
        on error resume next
        Set testFile = fso.CreateTextFile(fileName, true)
        If Err.Number<>0 then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not have write permissions.</B><br>The value of your uploadsDirVar is incorrect. Open uploadTester.asp in an editor and change the value of uploadsDirVar to the pathname of a directory with write permissions."
            exit function
        end if
        Err.Clear
        testFile.Close
        fso.DeleteFile(fileName)
        If Err.Number<>0 then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not have delete permissions</B>, although it does have write permissions.<br>Change the permissions for IUSR_<I>computername</I> on this folder."
            exit function
        end if
        Err.Clear
        Set streamTest = Server.CreateObject("ADODB.Stream")
        If Err.Number<>0 then
            TestEnvironment = "<B>The ADODB object <I>Stream</I> is not available in your server.</B><br>Check the Requirements page for information about upgrading your ADODB libraries."
            exit function
        end if
        Set streamTest = Nothing
        end function
    
    function SaveFiles
        Dim Upload, fileName, fileSize, ks, i, fileKey
    
        Set Upload = New FreeASPUpload
    
        Upload.setMaxFileSize 0.5, "m"
    
        Upload.Save(uploadsDirVar)
    
    	' If something fails inside the script, but the exception is handled
    	If Err.Number<>0 then Exit function
    
        SaveFiles = ""
        ks = Upload.UploadedFiles.keys
        if (UBound(ks) <> -1) then
            SaveFiles = "<B>Files uploaded:</B> "
            for each fileKey in Upload.UploadedFiles.keys
                SaveFiles = SaveFiles & Upload.UploadedFiles(fileKey).FileName & " (" & Upload.UploadedFiles(fileKey).Length & "B) "
            next
        else
            SaveFiles = "The file name specified in the upload form does not correspond to a valid file in the system."
        end if
    	SaveFiles = SaveFiles & "" & Upload.Form("enter_a_number") & "<br>"
    	SaveFiles = SaveFiles & "" & Upload.Form("checkbox_values") & "<br>"
    end function
    
    SUB updateDB_Logout
    	Call OPEN_DB()
    	MyConn.Execute( "UPDATE mms_tbl_user SET fldSTATUS = '" & drpSTATUS(3) & "' WHERE ID = " & Session("PMMS_ID") )
    	IF Session("PMMS_IN") = "True" THEN
                Call APPEND_LOG(False, Session("PMMS_ID"), "Logs out.", Trim(sysVAL(7)))
            END IF
    
    		MyConn.close
            Set MyConn = Nothing
    
    		Session.Abandon
    
            Response.Redirect( "PPL_Logout.asp" )
            Response.end
    END SUB
    %>
    
    
    
    <HTML>
    
    <HEAD>
    <Title>TEST</Title>
    <style type="text/css">
    body {margin: 1px 100px; padding: 1px; 0px}
    </style>
    </HEAD>
    <BODY leftMargin=0 topMargin=0 marginheight="0" marginwidth="0"  body {border-left: 1px solid #000; }>
    
    <SCRIPT LANGUAGE="JavaScript">errorcolor = '#eeeeee';</Script>
    <table cellspacing=0 border=0 cellpadding=40 width=100% align=left>
    	<tr>
    		<td align=left valign=middle>
    
    <script language="JAVASCRIPT">
    
    	var errfound = false;
    
    		function ValidLength(item, len) {
    		   return (item.length >= len);
    		}
    
    		function error(elem, text) {
    		   if (errfound) return;
    		   window.alert(text);
    		   elem.select();
    		   elem.focus();
    		   elem.style.backgroundColor=errorcolor;
    		   errfound = true;
    		}
    		function Validate() {
    		   errfound = false;
    		   d=document.login
    		   if (!ValidLength(d.members_username.value,1))error(d.members_username,"Username should not be blank.");
    		   if (!ValidLength(d.members_password.value,1))error(d.members_password,"Password should not be blank.");
    		   return !errfound;
    		}
    </script>
    <TR valign=top>
    <div style="border:0px solid #000000; width: 705px; padding-left: 75px; text-align:top;">
    
    
    <style>
    BODY {background-color: white;font-family:arial; font-size:12}
    </style>
    <script>
    function onSubmitForm() {
        var formDOMObj = document.frmSend;
        if (formDOMObj.attach1.value == "" && formDOMObj.attach2.value == "" && formDOMObj.attach3.value == "" && formDOMObj.attach4.value == "" )
            alert("Please press the browse button and pick a file.")
        else
            return true;
        return false;
    }
    </script>
    
    </HEAD>
    
    <BODY>
    
    <br><br>
    <div style="border-bottom: #A91905 2px solid;font-size:16">1. Select(Click) the Browse Button<br>
    2. Choose Your File For Uploading<br>
    3. Select(Click) the Upload Button<br><br></div>
    
    <%
    Dim diagnostics
    if Request.ServerVariables("REQUEST_METHOD") <> "POST" then
        diagnostics = TestEnvironment()
        if diagnostics<>"" then
            response.write "<div style=""margin-left:20; margin-top:30; margin-right:30; margin-bottom:30;"">"
            response.write diagnostics
            response.write "<p>After you correct this problem, reload the page."
            response.write "</div>"
        else
            response.write "<div style=""margin-left:5"">"
            OutputForm()
            response.write "</div>"
        end if
    else
    if Request("Loc2") <> "" then
    	   uploadsDirVar="C:/Documents and Settings/TAinput/"
        else
    	   uploadsDirVar="C:/Documents and Settings/TAinput1/"
        end if
    
        response.write "<div style=""margin-left:5"">"
        OutputForm()
    	sFiles	= SaveFiles()
        response.write SFiles
        response.write "<br><br></div>"
    
    	IF inStr( sFiles, "Exceeds maximum filesize" ) > 0 THEN sFilesErr = True
    	IF inStr( sFiles, "Invalid filetype" ) > 0 THEN sFilesErr = True
    
    	'response.write( "<br>SFiles: (" & len( SFiles ) & ") " & sFiles )
    
        IF PPL_GROUP_MEMBER = "Y" THEN
        	IF sFilesErr <> True THEN
    			updateDB_Logout
    	   	END IF
        END IF
    
    end if
    
    %>
    <img src="img/linkimg9.jpg" style="vertical-align: middle;" width="32" height="27" alt="" border="0" />
    
    <span style="color: #FFFFFF"><%=Trim(Session("PMMS_EMAIL"))%>
    </span>
    <span style="color: #989898"><br><br>File types allowed: .doc .txt .rtf .pdf .htm .html<br>Maximum file size allowed per upload: 260KB</span>
    <br><br>
    
    </p></div></tr></td></tr>
    </table></TD></TR><!--#include file="inc_footer.asp"--></TABLE>
    		</TD>
    
    	</TR>
    </TABLE>
    <TABLE cellSpacing=0 valign=bottom cellPadding=0 width=100% border=0>
    	<TR valign=top height=4>
    
    	</TR>
    	<TR valign=middle height=25>
    		<TD class=headera2>&nbsp;<FONT class=linksmall><font face="Arial" color="#ffffff" size="2">Copyright © 2007 <a href="" target="_blank"></a>. All Rights Reserved.</FONT></TD>
    		<TD align=right class=headera2><font class=linksmall><font face="Arial" color="#ffffff" size="2">Email : <A href=""></A> &nbsp;&nbsp;&nbsp; </font></TD>
    	</TR>
    </TABLE>
    
    </Body>
    </BODY>
    </HTML>
    
    Code (markup):
     
    chrisj, Jul 8, 2008 IP
  13. helpbeam

    helpbeam Guest

    Messages:
    30
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #13
    You might try this but sometime there are problems with the setup of the IIS
    I added the .Form to the request because it is a post

    <%
    Dim diagnostics
    if Request.ServerVariables("REQUEST_METHOD") <> "POST" then
        diagnostics = TestEnvironment()
        if diagnostics<>"" then
            response.write "<div style=""margin-left:20; margin-top:30; margin-right:30; margin-bottom:30;"">"
            response.write diagnostics
            response.write "<p>After you correct this problem, reload the page."
            response.write "</div>"
        else
            response.write "<div style=""margin-left:150"">"
            OutputForm()
            response.write "</div>"
        end if
    else
        if Request.Form("Loc2") <> "" then
    	   uploadsDirVar="C:/Documents and Settings/TAinput/"
        else
    	   uploadsDirVar="C:/Documents and Settings/TAinput1/"
        end if
    
        response.write "<div style=""margin-left:150"">"
        OutputForm()
        response.write SaveFiles()
        response.write "<br><br></div>"
    end if
    %>
    Code (markup):
     
    helpbeam, Jul 8, 2008 IP
  14. chrisj

    chrisj Well-Known Member

    Messages:
    606
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    101
    #14
    Yes, I got this error:

    System reported this error:
    006~ASP 0206~Cannot call BinaryRead~Cannot call BinaryRead after using Request.Form collection.

    The most likely cause for this error is the incorrect setup of AspMaxRequestEntityAllowed in IIS MetaBase. Please see instructions in the requirements page of freeaspupload.net.
     
    chrisj, Jul 8, 2008 IP
  15. helpbeam

    helpbeam Guest

    Messages:
    30
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #15
    Ok, I think I got it now. When you do the save function on the freeaspupload it reads the whole thing as binary so you can't read the form elements separately. However there is an Upload function that will read everything but NOT save it to disk until you call Save. I had to change the freeaspupload.asp file and change the Upload function from private to public.

    So heres the whole thing all over again

    freeaspupload.asp:
    <%
    '  For examples, documentation, and your own free copy, go to:
    '  http://www.freeaspupload.net
    '  Note: You can copy and use this script for free and you can make changes
    '  to the code, but you cannot remove the above comment.
    
    'Changes:
    'Aug 2, 2005: Add support for checkboxes and other input elements with multiple values
    
    Class FreeASPUpload
    	Public UploadedFiles
    	Public FormElements
    
    	Private VarArrayBinRequest
    	Private StreamRequest
    	Private uploadedYet
    
    	Private Sub Class_Initialize()
    		Set UploadedFiles = Server.CreateObject("Scripting.Dictionary")
    		Set FormElements = Server.CreateObject("Scripting.Dictionary")
    		Set StreamRequest = Server.CreateObject("ADODB.Stream")
    		StreamRequest.Type = 1 'adTypeBinary
    		StreamRequest.Open
    		uploadedYet = false
    	End Sub
    
    	Private Sub Class_Terminate()
    		If IsObject(UploadedFiles) Then
    			UploadedFiles.RemoveAll()
    			Set UploadedFiles = Nothing
    		End If
    		If IsObject(FormElements) Then
    			FormElements.RemoveAll()
    			Set FormElements = Nothing
    		End If
    		StreamRequest.Close
    		Set StreamRequest = Nothing
    	End Sub
    
    	Public Property Get Form(sIndex)
    		Form = ""
    		If FormElements.Exists(LCase(sIndex)) Then Form = FormElements.Item(LCase(sIndex))
    	End Property
    
    	Public Property Get Files()
    		Files = UploadedFiles.Items
    	End Property
    
    	'Calls Upload to extract the data from the binary request and then saves the uploaded files
    	Public Sub Save(path)
    		Dim streamFile, fileItem
    
    		if Right(path, 1) <> "\" then path = path & "\"
    
    		if not uploadedYet then Upload
    
    		For Each fileItem In UploadedFiles.Items
    			Set streamFile = Server.CreateObject("ADODB.Stream")
    			streamFile.Type = 1
    			streamFile.Open
    			StreamRequest.Position=fileItem.Start
    			StreamRequest.CopyTo streamFile, fileItem.Length
    			streamFile.SaveToFile path & fileItem.FileName, 2
    			streamFile.close
    			Set streamFile = Nothing
    			fileItem.Path = path & fileItem.FileName
    		 Next
    	End Sub
    
    	Public Function SaveBinRequest(path) ' For debugging purposes
    		StreamRequest.SaveToFile path & "\debugStream.bin", 2
    	End Function
    
    	Public Sub DumpData() 'only works if files are plain text
    		Dim i, aKeys, f
    		response.write "Form Items:<br>"
    		aKeys = FormElements.Keys
    		For i = 0 To FormElements.Count -1 ' Iterate the array
    			response.write aKeys(i) & " = " & FormElements.Item(aKeys(i)) & "<BR>"
    		Next
    		response.write "Uploaded Files:<br>"
    		For Each f In UploadedFiles.Items
    			response.write "Name: " & f.FileName & "<br>"
    			response.write "Type: " & f.ContentType & "<br>"
    			response.write "Start: " & f.Start & "<br>"
    			response.write "Size: " & f.Length & "<br>"
    		 Next
       	End Sub
    
    	Public Sub Upload()
    		Dim nCurPos, nDataBoundPos, nLastSepPos
    		Dim nPosFile, nPosBound
    		Dim sFieldName, osPathSep, auxStr
    
    		'RFC1867 Tokens
    		Dim vDataSep
    		Dim tNewLine, tDoubleQuotes, tTerm, tFilename, tName, tContentDisp, tContentType
    		tNewLine = Byte2String(Chr(13))
    		tDoubleQuotes = Byte2String(Chr(34))
    		tTerm = Byte2String("--")
    		tFilename = Byte2String("filename=""")
    		tName = Byte2String("name=""")
    		tContentDisp = Byte2String("Content-Disposition")
    		tContentType = Byte2String("Content-Type:")
    
    		uploadedYet = true
    
    		on error resume next
    		VarArrayBinRequest = Request.BinaryRead(Request.TotalBytes)
    		if Err.Number <> 0 then
    			response.write "<br><br><B>System reported this error:</B><p>"
    			response.write Err.Description & "<p>"
    			response.write "The most likely cause for this error is the incorrect setup of AspMaxRequestEntityAllowed in IIS MetaBase. Please see instructions in the <A HREF='http://www.freeaspupload.net/freeaspupload/requirements.asp'>requirements page of freeaspupload.net</A>.<p>"
    			Exit Sub
    		end if
    		on error goto 0 'reset error handling
    
    		nCurPos = FindToken(tNewLine,1) 'Note: nCurPos is 1-based (and so is InstrB, MidB, etc)
    
    		If nCurPos <= 1  Then Exit Sub
    
    		'vDataSep is a separator like -----------------------------21763138716045
    		vDataSep = MidB(VarArrayBinRequest, 1, nCurPos-1)
    
    		'Start of current separator
    		nDataBoundPos = 1
    
    		'Beginning of last line
    		nLastSepPos = FindToken(vDataSep & tTerm, 1)
    
    		Do Until nDataBoundPos = nLastSepPos
    
    			nCurPos = SkipToken(tContentDisp, nDataBoundPos)
    			nCurPos = SkipToken(tName, nCurPos)
    			sFieldName = ExtractField(tDoubleQuotes, nCurPos)
    
    			nPosFile = FindToken(tFilename, nCurPos)
    			nPosBound = FindToken(vDataSep, nCurPos)
    
    			If nPosFile <> 0 And  nPosFile < nPosBound Then
    				Dim oUploadFile
    				Set oUploadFile = New UploadedFile
    
    				nCurPos = SkipToken(tFilename, nCurPos)
    				auxStr = ExtractField(tDoubleQuotes, nCurPos)
                    ' We are interested only in the name of the file, not the whole path
                    ' Path separator is \ in windows, / in UNIX
                    ' While IE seems to put the whole pathname in the stream, Mozilla seem to
                    ' only put the actual file name, so UNIX paths may be rare. But not impossible.
                    osPathSep = "\"
                    if InStr(auxStr, osPathSep) = 0 then osPathSep = "/"
    				oUploadFile.FileName = Right(auxStr, Len(auxStr)-InStrRev(auxStr, osPathSep))
    
    				if (Len(oUploadFile.FileName) > 0) then 'File field not left empty
    					nCurPos = SkipToken(tContentType, nCurPos)
    
                        auxStr = ExtractField(tNewLine, nCurPos)
                        ' NN on UNIX puts things like this in the streaa:
                        '    ?? python py type=?? python application/x-python
    					oUploadFile.ContentType = Right(auxStr, Len(auxStr)-InStrRev(auxStr, " "))
    					nCurPos = FindToken(tNewLine, nCurPos) + 4 'skip empty line
    
    					oUploadFile.Start = nCurPos-1
    					oUploadFile.Length = FindToken(vDataSep, nCurPos) - 2 - nCurPos
    
    					If oUploadFile.Length > 0 Then UploadedFiles.Add LCase(sFieldName), oUploadFile
    				End If
    			Else
    				Dim nEndOfData
    				nCurPos = FindToken(tNewLine, nCurPos) + 4 'skip empty line
    				nEndOfData = FindToken(vDataSep, nCurPos) - 2
    				If Not FormElements.Exists(LCase(sFieldName)) Then
    					FormElements.Add LCase(sFieldName), String2Byte(MidB(VarArrayBinRequest, nCurPos, nEndOfData-nCurPos))
    				else
                        FormElements.Item(LCase(sFieldName))= FormElements.Item(LCase(sFieldName)) & ", " & String2Byte(MidB(VarArrayBinRequest, nCurPos, nEndOfData-nCurPos))
                    end if
    
    			End If
    
    			'Advance to next separator
    			nDataBoundPos = FindToken(vDataSep, nCurPos)
    		Loop
    		StreamRequest.Write(VarArrayBinRequest)
    	End Sub
    
    	Private Function SkipToken(sToken, nStart)
    		SkipToken = InstrB(nStart, VarArrayBinRequest, sToken)
    		If SkipToken = 0 then
    			Response.write "Error in parsing uploaded binary request."
    			Response.End
    		end if
    		SkipToken = SkipToken + LenB(sToken)
    	End Function
    
    	Private Function FindToken(sToken, nStart)
    		FindToken = InstrB(nStart, VarArrayBinRequest, sToken)
    	End Function
    
    	Private Function ExtractField(sToken, nStart)
    		Dim nEnd
    		nEnd = InstrB(nStart, VarArrayBinRequest, sToken)
    		If nEnd = 0 then
    			Response.write "Error in parsing uploaded binary request."
    			Response.End
    		end if
    		ExtractField = String2Byte(MidB(VarArrayBinRequest, nStart, nEnd-nStart))
    	End Function
    
    	'String to byte string conversion
    	Private Function Byte2String(sString)
    		Dim i
    		For i = 1 to Len(sString)
    		   Byte2String = Byte2String & ChrB(AscB(Mid(sString,i,1)))
    		Next
    	End Function
    
    	'Byte string to string conversion
    	Private Function String2Byte(bsString)
    		Dim i
    		String2Byte =""
    		For i = 1 to LenB(bsString)
    		   String2Byte = String2Byte & Chr(AscB(MidB(bsString,i,1)))
    		Next
    	End Function
    End Class
    
    Class UploadedFile
    	Public ContentType
    	Public Start
    	Public Length
    	Public Path
    	Private nameOfFile
    
        ' Need to remove characters that are valid in UNIX, but not in Windows
        Public Property Let FileName(fN)
            nameOfFile = fN
            nameOfFile = SubstNoReg(nameOfFile, "\", "_")
            nameOfFile = SubstNoReg(nameOfFile, "/", "_")
            nameOfFile = SubstNoReg(nameOfFile, ":", "_")
            nameOfFile = SubstNoReg(nameOfFile, "*", "_")
            nameOfFile = SubstNoReg(nameOfFile, "?", "_")
            nameOfFile = SubstNoReg(nameOfFile, """", "_")
            nameOfFile = SubstNoReg(nameOfFile, "<", "_")
            nameOfFile = SubstNoReg(nameOfFile, ">", "_")
            nameOfFile = SubstNoReg(nameOfFile, "|", "_")
        End Property
    
        Public Property Get FileName()
            FileName = nameOfFile
        End Property
    
        'Public Property Get FileN()ame
    End Class
    
    
    ' Does not depend on RegEx, which is not available on older VBScript
    ' Is not recursive, which means it will not run out of stack space
    Function SubstNoReg(initialStr, oldStr, newStr)
        Dim currentPos, oldStrPos, skip
        If IsNull(initialStr) Or Len(initialStr) = 0 Then
            SubstNoReg = ""
        ElseIf IsNull(oldStr) Or Len(oldStr) = 0 Then
            SubstNoReg = initialStr
        Else
            If IsNull(newStr) Then newStr = ""
            currentPos = 1
            oldStrPos = 0
            SubstNoReg = ""
            skip = Len(oldStr)
            Do While currentPos <= Len(initialStr)
                oldStrPos = InStr(currentPos, initialStr, oldStr)
                If oldStrPos = 0 Then
                    SubstNoReg = SubstNoReg & Mid(initialStr, currentPos, Len(initialStr) - currentPos + 1)
                    currentPos = Len(initialStr) + 1
                Else
                    SubstNoReg = SubstNoReg & Mid(initialStr, currentPos, oldStrPos - currentPos) & newStr
                    currentPos = oldStrPos + skip
                End If
            Loop
        End If
    End Function
    %>
    Code (markup):
    And heres the
    uploadTester.asp

    <%@ Language=VBScript %>
    <% 
    option explicit 
    Response.Expires = -1
    Server.ScriptTimeout = 600
    %>
    <!-- #include file="freeaspupload.asp" -->
    <%
    
    
    ' ****************************************************
    ' Change the value of the variable below to the pathname
    ' of a directory with write permissions, for example "C:\Inetpub\wwwroot"
      Dim uploadsDirVar
      uploadsDirVar = "C:\Documents and Settings\TAinput" 
    ' ****************************************************
    
    ' Note: this file uploadTester.asp is just an example to demonstrate
    ' the capabilities of the freeASPUpload.asp class. There are no plans
    ' to add any new features to uploadTester.asp itself. Feel free to add
    ' your own code. If you are building a content management system, you
    ' may also want to consider this script: http://www.webfilebrowser.com/
    
    function OutputForm()
    %>
        <form name="frmSend" method="POST" enctype="multipart/form-data" action="uploadTester.asp" onSubmit="return onSubmitForm();">
    	<B>File names:</B><br>
        File 1: <input name="attach1" type="file" size=35><br>
        File 2: <input name="attach2" type="file" size=35><br>
        File 3: <input name="attach3" type="file" size=35><br>
        File 4: <input name="attach4" type="file" size=35><br>
        <br> 
    	<!-- These input elements are obviously optional and just included here for demonstration purposes -->
    	<B>Additional fields (demo):</B><br>
    
        Checkbox values: <input type="checkbox" value="1" name="checkbox_values">-1 <input type="checkbox" value="2" name="checkbox_values">-2<br>
    	<!-- End of additional elements -->
        <input style="margin-top:4" type=submit name="Loc1" value="Loc1">
        <input style="margin-top:4" type=submit name="Loc2" value="Loc2">
        </form>
    <%
    end function
    
    function TestEnvironment()
        Dim fso, fileName, testFile, streamTest
        TestEnvironment = ""
        Set fso = Server.CreateObject("Scripting.FileSystemObject")
        if not fso.FolderExists(uploadsDirVar) then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not exist.</B><br>The value of your uploadsDirVar is incorrect. Open uploadTester.asp in an editor and change the value of uploadsDirVar to the pathname of a directory with write permissions."
            exit function
        end if
        fileName = uploadsDirVar & "\test.txt"
        on error resume next
        Set testFile = fso.CreateTextFile(fileName, true)
        If Err.Number<>0 then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not have write permissions.</B><br>The value of your uploadsDirVar is incorrect. Open uploadTester.asp in an editor and change the value of uploadsDirVar to the pathname of a directory with write permissions."
            exit function
        end if
        Err.Clear
        testFile.Close
        fso.DeleteFile(fileName)
        If Err.Number<>0 then
            TestEnvironment = "<B>Folder " & uploadsDirVar & " does not have delete permissions</B>, although it does have write permissions.<br>Change the permissions for IUSR_<I>computername</I> on this folder."
            exit function
        end if
        Err.Clear
        Set streamTest = Server.CreateObject("ADODB.Stream")
        If Err.Number<>0 then
            TestEnvironment = "<B>The ADODB object <I>Stream</I> is not available in your server.</B><br>Check the Requirements page for information about upgrading your ADODB libraries."
            exit function
        end if
        Set streamTest = Nothing
    end function
    
    function SaveFiles
    
     SaveFiles = ""
        Dim Upload, fileName, fileSize, ks, i, fileKey
    
        Set Upload = New FreeASPUpload
    
        Upload.Upload
    
    SaveFiles = SaveFiles & "Loc2 = " & Upload.Form("Loc2") & "<br>"
    	SaveFiles = SaveFiles & "Loc1 = " & Upload.Form("Loc1") & "<br>"
    
    
        if Upload.Form("Loc2") <> "" then
    	uploadsDirVar="C:\Documents and Settings\TAinput1"
        else
    	uploadsDirVar="C:\Documents and Settings\TAinput"
        end if
    
    
        Upload.Save(uploadsDirVar)
    
    	' If something fails inside the script, but the exception is handled
    	If Err.Number<>0 then Exit function
    
       
        ks = Upload.UploadedFiles.keys
        if (UBound(ks) <> -1) then
            SaveFiles =SaveFiles & "<B>Files uploaded:</B> "
            for each fileKey in Upload.UploadedFiles.keys
                SaveFiles = SaveFiles & Upload.UploadedFiles(fileKey).FileName & " (" & Upload.UploadedFiles(fileKey).Length & "B) "
            next
        else
            SaveFiles = "The file name specified in the upload form does not correspond to a valid file in the system."
        end if
    	SaveFiles = SaveFiles & "<br>Enter a number = " & Upload.Form("enter_a_number") & "<br>"
    	SaveFiles = SaveFiles & "Checkbox values = " & Upload.Form("checkbox_values") & "<br>"
    	SaveFiles = SaveFiles & "Loc2 = " & Upload.Form("Loc2") & "<br>"
    	SaveFiles = SaveFiles & "Loc1 = " & Upload.Form("Loc1") & "<br>"
    
    
    end function
    %>
    
    <HTML>
    <HEAD>
    <TITLE>Test Free ASP Upload</TITLE>
    <style>
    BODY {background-color: white;font-family:arial; font-size:12}
    </style>
    <script>
    function onSubmitForm() {
        var formDOMObj = document.frmSend;
        if (formDOMObj.attach1.value == "" && formDOMObj.attach2.value == "" && formDOMObj.attach3.value == "" && formDOMObj.attach4.value == "" )
            alert("Please press the browse button and pick a file.")
        else
            return true;
        return false;
    }
    </script>
    
    </HEAD>
    
    <BODY>
    
    <br><br>
    <div style="border-bottom: #A91905 2px solid;font-size:16">Upload files to your server</div>
    <%
    Dim diagnostics
    if Request.ServerVariables("REQUEST_METHOD") <> "POST" then
        diagnostics = TestEnvironment()
        if diagnostics<>"" then
            response.write "<div style=""margin-left:20; margin-top:30; margin-right:30; margin-bottom:30;"">"
            response.write diagnostics
            response.write "<p>After you correct this problem, reload the page."
            response.write "</div>"
        else
            response.write "<div style=""margin-left:150"">"
            OutputForm()
            response.write "</div>"
        end if
    else
    
        response.write "<div style=""margin-left:150"">"
        OutputForm()
        response.write SaveFiles()
        response.write "<br><br></div>"
    end if
    
    %>
    
    <!-- Please support this free script by having a link to freeaspupload.net either in this page or somewhere else in your site. -->
    <div style="border-bottom: #A91905 2px solid;font-size:10">Powered by <A HREF="http://www.freeaspupload.net/" style="color:black">Free ASP Upload</A></div>
    
    <br><br>
    
    <!--- START OF HTML TO REMOVE - contains the script ratings submission -->
    
    <table cellspacing=10>
    <tr><td>
    <table width="140" border="1" cellpadding="0" cellspacing="0" bordercolor="#840300" bgcolor="#D70500">
      <form action="http://www.hotscripts.com/cgi-bin/rate.cgi" method="POST">
        <tr> 
          <td><table width="100%" border="0" cellspacing="0" cellpadding="2" style="font-size:8pt">
              <tr align="center" bgcolor="#AA0400"> 
                <td colspan="2"><b><font color="#FFFFFF">Rate Our Program<br>at Hotscripts.com
                  <input type="hidden" name="ID" value="21966">
                  <input type="hidden" name="external2" value="1">
                  </font></b></td>
              </tr>
              <tr> 
                <td align="right"><input type="radio" value="5" name="rate"></td>
                <td><font color="#FFFFFF">Excellent!</font></td>
              </tr>
              <tr> 
                <td align="right"><input type="radio" value="4" name="rate"></td>
                <td><font color="#FFFFFF">Very Good</font></td>
              </tr>
              <tr> 
                <td align="right"><input type="radio" value="3" name="rate"></td>
                <td><font color="#FFFFFF">Good</font></td>
              </tr>
              <tr> 
                <td align="right"><input type="radio" value="2" name="rate"></td>
                <td><font color="#FFFFFF">Fair</font></td>
              </tr>
              <tr> 
                <td align="right"><input type="radio" value="1" name="rate"></td>
                <td><font color="#FFFFFF">Poor</font></td>
              </tr>
              <tr align="center"> 
                <td colspan="2"><input name="submit2" type="submit" value="Cast My Vote!"></td>
              </tr>
            </table></td>
        </tr>
      </form>
    </table>
    
    <td valign=top>
    
    <table border=0 cellpadding=1 cellspacing=0 bgcolor=000000>
    <tr><td align=center>
    	<table border=0 cellpadding=3 cellspacing=0 bgcolor=eeeedd>
    	<tr><td align=center nowrap>
    		<font style="font-size:10pt;font-family:Arial;"><b>Rated:</b> <a href="http://www.Aspin.com/func/review?id=5380510"><img src=http://ratings.Aspin.com/getstars?id=5380510 border=0></a>
    		<font style="font-size:8pt;"><br>by <a href="http://www.Aspin.com">Aspin.com</a> users<br></font></font>
    	</td></tr><tr nowrap><form action="http://www.Aspin.com/func/review/write?id=5380510" method=post><td align=center>
    		<font style="font-size:10pt;font-family:Arial;">What do you think?</font><br>
    		<select name="VoteStars"><option>5 Stars<option>4 Stars<option>3 Stars<option>2 Stars<option>1 Star</select><input type=submit value="Vote">
    	</td></form></tr></table>
    </td></tr></table>
    
    <td valign=top style="font-size:10pt" width=300>
    
    Please support this free script by rating it with the boxes on the left.<p>
    To remove these boxes from this page please follow the instructions in the source HTML. The code to remove is clearly indicated and very easy to find.<p>
    Thank you.
    </table>
    <!-- end of html to remove ------------------------->
    
    </BODY>
    </HTML>
    Code (markup):
    This worked for me just replace both files with the text above
     
    helpbeam, Jul 9, 2008 IP
  16. chrisj

    chrisj Well-Known Member

    Messages:
    606
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    101
    #16
    Thanks again for your help.

    I applied the Uploadtester.asp file that you posted and tested it.
    Upon uploading a file, I see this error message:

    "Microsoft VBScript runtime error '800a01b6'

    Object doesn't support this property or method: 'Upload.Upload'

    /folder/uploadTester.asp, line 82"


    I don't know how to remedy this error.
    Also, I'm not clear on your sentence "just replace both files with the text above". Could you please clarify? Thanks much.
     
    chrisj, Jul 9, 2008 IP
  17. helpbeam

    helpbeam Guest

    Messages:
    30
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #17
    you have change the freeaspupload.asp file too.

    change the line
    Private Sub Upload()

    to
    Public Sub Upload()
     
    helpbeam, Jul 9, 2008 IP
  18. chrisj

    chrisj Well-Known Member

    Messages:
    606
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    101
    #18
    Wow. It actually worked!
    Thanks for all of your time and guidance.

    Can you tell me about this change:

    Private Sub Upload()
    to
    Public Sub Upload()

    Does this mean anyone can upload?

    What does that change mena exactly?

    Thanks again. I look forward to your reply.
     
    chrisj, Jul 10, 2008 IP
  19. helpbeam

    helpbeam Guest

    Messages:
    30
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #19
    no it just makes that function available to the uploadtester script.

    before it was private so it could only be referenced within the freeaspupload.asp script. making it public lets external scripts access the function too.

    But only by scripts on your server. Outsiders can't access the function
     
    helpbeam, Jul 14, 2008 IP
  20. chrisj

    chrisj Well-Known Member

    Messages:
    606
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    101
    #20
    Thanks so much for all of your help.

    Can you please tell me what this part of the code means/does?

    
    if Upload.Form("Loc2") <> "" then
    	uploadsDirVar="C:\Documents and Settings\TAinput1"
        else
    	uploadsDirVar="C:\Documents and Settings\TAinput"
        end if
    
    Code (markup):
    Thanks again.
     
    chrisj, Jul 18, 2008 IP