<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>File Upload with Rivet</title>
    <link rel="stylesheet" href="../templates/wondrous/styles.css" type="text/css" />
</head>

<body>
    <div id="container">
        <div id="header">
            <h1><a href="../index.html">Rivet</a></h1>
            <h2 id="slogan">Webscripting for Tcl'ers</h2>
            <div class="clear"></div>
        </div>
        <div id="body">
            <div id="content">
                <h2>File Upload with Rivet</h2>
                <div class="example">
    <p class="title">
        <b>Example 4. File Upload</b>
    </p>
    <div class="example-contents">
        <p>
                The <b>upload</b>

 command endows Rivet with an interface to access files transferred over http as 
                parts of a multipart form. The following HTML in one file, say, upload.html creates a form with a 
                text input entry. By clicking the file chooser button the file browser shows up and the user 
                selects the file to be uploaded (the file path will appear in the text input). In order to make 
                sure you're uploading the whole file you must combine the action of the enctype and method attributes 
                of the <b>form</b>

 tag in the way shown in the example. Failure to do so would result in the client 
                sending only the file's path, rather than the actual contents.
                                </p>
        <pre class="programlisting">&lt;form action="foo.rvt" enctype="multipart/form-data" method="post"&gt;
    &lt;input type="file" name="MyUpload"&gt;&lt;/input&gt;
    &lt;input type="submit" value="Send File"&gt;&lt;/input&gt;
&lt;/form&gt;</pre>
        <p> 
                In the script invoked by the form (upload.rvt) <b>upload ?argument ...?</b>

 commands can be used to 
                manipulate the various files uploaded.
                                </p>
        <pre class="programlisting">&lt;?
upload save MyUpload /tmp/uploadfiles/file1
puts "Saved file [upload filename MyUpload] \
        ([upload size MyUpload] bytes) to server"
?&gt;</pre>
        <p>
                Don't forget that the apache server must have write access to the directory where files are being created. 
                The Rivet Apache directives have a substantial impact on the upload process, you have to carefully read the 
                docs in order to set the appropriate directives values that would match your requirements. 
            </p>
        <p>
                It is also important to understand that some upload commands are effective only when used in a mutually 
                exclusive way. Apache stores the data in temporary files which are read by the 
                <b>upload save ?upload name? ?filename?</b>

 
                or by the <b>upload data ?upload name?</b>

 command. Subsequent calls to these 2 commands using the 
                same <b>?upload name?</b>

 argument will return no data on the second call. Likewise upload channel 
                ?upload name? will return a Tcl file channel that you can use in regular Tcl scripts only if you 
                haven't already read the data, for example with a call to the upload data ?upload name? command.
                                </p>
    </div>
</div>



                <div class="contentbottom">
                    
                </div>
            </div>

            <div class="sidebar">
                <ul>
                     
                </ul> 
                <ul>
                    <li id="home">
    <h4>Rivet</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="A home for Rivet" href="../index.html">Rivet Homepage</a>
        </li>
        <li class="navitem">
            <a title="Home of Apache Tcl related stuff" target="asf" href="http://tcl.apache.org/">Apache Tcl Home</a>
        </li>
        <li class="navitem">
            <a title="Getting Rivet" href="download.html">Getting Rivet</a>
        </li>
        <li class="navitem">
            <a title="Hello World!" href="hello%5fworld.html">Examples</a>
        </li>
        <li class="navitem">
            <a title="The Rivet development team" href="about.html">About Us - Contact</a>
        </li>
    </ul>
</li>
<li id="manual">
    <h4>Documentation</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="Rivet 2.1 Manual" target="rivetman2.1" href="http://tcl.apache.org/rivet/manual2.1/">Rivet 2.1</a>
        </li>
        <li class="navitem">
            <a title="Rivet 2.2 Manual" target="rivetman2.2" href="http://tcl.apache.org/rivet/manual2.2/">Rivet 2.2</a>
        </li>
        <li class="navitem">
            <a title="Rivet 2.3 Manual" target="rivetman2.3" href="http://tcl.apache.org/rivet/manual2.3/">Rivet 2.3</a>
        </li>
        <li class="navitem">
            <a title="Rivet 3.0 Manual" target="rivetman3.0" href="http://tcl.apache.org/rivet/manual3.0/">Rivet 3.0</a>
        </li>
    </ul>
</li>
<li id="rivetexamples">
    <h4>Examples</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a href="hello%5fworld.html">Hello world!</a>
        </li>
        <li class="navitem">
            <a href="colorful%5ftable.html">A colorful table</a>
        </li>
        <li class="navitem">
            <a href="var%5faccess.html">Variable Access</a>
        </li>
        <li class="navitem">
            <a href="file%5fupload.html">File Upload</a>
        </li>
        <li class="navitem">
            <a href="file%5fdownload.html">File Download</a>
        </li>
        <li class="navitem">
            <a href="ajax.html">XML and Ajax</a>
        </li>
        <li class="navitem">
            <a href="calendar.html">Calendar</a>
        </li>
    </ul>
</li>
 
                </ul> 
                <ul>
                     
                </ul> 
            </div>
            <div class="clear"></div>
        </div>
    </div>
    <div id="footer">
        <div class="footer-content">
            <p><a href="http://www.apache.org/">Apache Software Foundation</a> | Design by <a href="http://www.spyka.net">Free CSS Templates</a> | <a href="http://www.justfreetemplates.com">Free Web Templates</a></p>
        </div>
    </div>
    <div style="text-align: center; font-size: 0.75em;">Design downloaded from <a href="http://www.freewebtemplates.com/">free website templates</a>.</div></body>
</html>
is_homepage: 0

