It is not possible to send files over AJAX requests. What I have done (and seen others do) is to do a post in the background via an IFrame. This is something that would be super if the framework would do for us.
2008/8/22 Sven Homburg <[EMAIL PROTECTED]>: > hi robert, > > i try it out with the upload container but without success. > if i use a container, that holds a simple java object like string, > double,etc all is fine > but if i use an UploadedFile object or somethin simelar, the value is always > null > after the first submit > > have you a small sample for suggestion ? > > 2008/6/10 Robert Zeigler <[EMAIL PROTECTED]> > >> Couldn't you use a list of "placeholders"/wrappers? >> This is what I've done in the past in similar sorts of scenarios, although >> it wasn't ajax-based. >> I created a list of "UploadContainers". This ended up being useful because >> then I could associate other sorts of values to each upload row (extract >> archives, create xyz, and so forth), and they would all be "nicely" >> associated. So then you don't have to worry about not having an upload file, >> b/c you can easily create your container, and bind the file upload >> component's value to the UploadContainer's "file" property. >> >> Robert >> >> >> On Jun 10, 2008, at 6/1011:28 AM , Ognen Ivanovski wrote: >> >> Hi all, >>> >>> I'm trying to write a page that mimics an email composition form. On >>> this form the user should be allowed to add any number of attachments >>> (files). >>> >>> My idea is to use an AjaxFormLoop and a file upload component inside. The >>> problem is - I can't. >>> >>> The loop needs an iterable to work over - ok - that is a list of >>> UploadedFiles. But, the 'addRow' event says it needs to return a non-null >>> value so that the loop can correctly use it. But - i don't have an uploaded >>> file yet - i just want a new Upload component to render itself. >>> >>> Second problem - how would I process the files at the end? >>> >>> My code - so far: >>> >>> public class Test { >>> >>> >>> @Property private List<UploadedFile> files = new >>> ArrayList<UploadedFile>(); >>> >>> @Property private UploadedFile currentValue; >>> >>> >>> @Property private DefaultPrimaryKeyEncoder<Integer, UploadedFile> encoder >>> = new DefaultPrimaryKeyEncoder<Integer, UploadedFile>(); >>> >>> @InjectComponent private Block newFileBlock; >>> >>> public int getNumOfFiles() { >>> return files.size(); >>> } >>> >>> public void onSubmit() { >>> // what do i do here? >>> } >>> >>> public Block onAddRow() { >>> return null; // what do i do here? this causes illegal state excepton >>> } >>> } >>> >>> Test.tml: >>> >>> <t:form> >>> <t:ajaxformloop source="files" value="currentValue" encoder="encoder"> >>> <t:submitnotifier> >>> <t:upload t:id="currentValue" value="currentValue" /> >>> <t:removerowlink>remove</t:removerowlink> >>> </t:submitnotifier> >>> <t:parameter name="addRow"> >>> <t:addrowlink>Add a row</t:addrowlink> >>> </t:parameter> >>> </t:ajaxformloop> >>> >>> <div class="t-beaneditor-row"> >>> <input type="submit" value="Submit"/> >>> </div> >>> >>> </t:form> >>> >>> <p>Number of strings (after submit): ${numOfFiles}</p> >>> >>> <t:grid source="files"/> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > -- > with regards > Sven Homburg > http://www.chenillekit.org > http://tapestry5-components.googlecode.com > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]