<html>
<form action="/upload" method="POST" enctype="multipart/form-data">
<input type="file" name="blah"/>
<input type="submit" name="action" value="Upload"/>
</form>
</html>the hook the /upload URL to a flow function
<map:match pattern="/upload"> <map:call function="upload"/> </map:match>
<map:match pattern="/*.html">
<map:read src="{1}.html"/>
</map:match>then write the flow function
var role = Packages.org.mystuff.UploadManager.ROLE;
function upload() {
var uploader = cocoon.componentManager.getComponent(role);
var part = cocoon.request.get("blah");
var success = uploader.handle(part.getInputStream());
if (success) {
sendPage("success.html");
} else {
sendPage("failure.html");
}
}alternatively, you can write the following java code in your sitemap components
import org.apache.cocoon.servlet.multipart.*;
...
Request request = ObjectModelHelper.getRequest(obj);
if (request instanceof MultipartHttpServletRequest) {
Part part = (Part) request.get("blah");
if (part != null) {
// do something with it
} else {
// parameter not found
}
} else {
// upload is disabled
}Hope this helps (and gets thru)
-- Stefano.
