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]

Reply via email to