file upload doesn't set file value

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

file upload doesn't set file value

Qbyte Consulting
Hi,

I'm always finding that file is null for file upload? If I submit the form
without async=true then file value is set and it works.

            <t:zone t:id="profileZone">

                <form t:type="form" t:id="uploadForm" async="true">
                    <t:errors/>
                    <input t:type="upload" t:id="file" t:value="file"
validate="required"/>
                    <input t:type="submit" value="Upload"/>
                </form>

    public void onValidateFromUploadForm() {
        if (file != null) {
            File copied = new File("./uploads/" + file.getFileName());
            file.write(copied);
         } else {
             System.out.println("upload failed");
        }
    }
Reply | Threaded
Open this post in threaded view
|

Re: file upload doesn't set file value

Carlos Montero Canabal
For my experience, FileUpload doesn´t support ajax form (t:async="true" or t:zone=“^”).

Regards

Carlos Montero

> El 31/8/2016, a las 22:03, Qbyte Consulting <[hidden email]> escribió:
>
> Hi,
>
> I'm always finding that file is null for file upload? If I submit the form
> without async=true then file value is set and it works.
>
>            <t:zone t:id="profileZone">
>
>                <form t:type="form" t:id="uploadForm" async="true">
>                    <t:errors/>
>                    <input t:type="upload" t:id="file" t:value="file"
> validate="required"/>
>                    <input t:type="submit" value="Upload"/>
>                </form>
>
>    public void onValidateFromUploadForm() {
>        if (file != null) {
>            File copied = new File("./uploads/" + file.getFileName());
>            file.write(copied);
>         } else {
>             System.out.println("upload failed");
>        }
>    }


smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: file upload doesn't set file value

fjfalcon
In reply to this post by Qbyte Consulting
Hi there.

Maybe you shall anotate field file @Persist?


On 31 August 2016 at 23:03, Qbyte Consulting <[hidden email]>
wrote:

>
> I'm always finding that file is null for file upload? If I submit the form
> without async=true then file value is set and it works.
>


--
With best regards.
Pavel Chernyak
Reply | Threaded
Open this post in threaded view
|

Re: file upload doesn't set file value

Chris Poulsen
Unfortunately I think Carlos is correct.

--
Chris

On Wed, Aug 31, 2016 at 11:18 PM, Pavel Chernyak <[hidden email]>
wrote:

> Hi there.
>
> Maybe you shall anotate field file @Persist?
>
>
> On 31 August 2016 at 23:03, Qbyte Consulting <[hidden email]>
> wrote:
>
> >
> > I'm always finding that file is null for file upload? If I submit the
> form
> > without async=true then file value is set and it works.
> >
>
>
> --
> With best regards.
> Pavel Chernyak
>
Reply | Threaded
Open this post in threaded view
|

Re: file upload doesn't set file value

Dongmei Cao
Hi,

I know this is an old post. I’m trying to migrate our app from 5.3.8 to 5.4.3, and finding the file upload is no longer working. I’m not using t:zone at all. But the file value is always null. I see the JumpStart site (http://jumpstart.doublenegative.com.au/jumpstart/) have the “File Upload” example disabled. Anyone has a working example. Could you please share?

<t:form>
    <t:errors/>
    <input t:type="upload" t:id="file" t:value="file" validate="required"/> <br/>
    <input type="submit" value="Upload"/>
</t:form>


    @Persist
    @Property
    private UploadedFile file;

    public Object onSuccess() {
        System.out.println(file.getFileName());
        File copied = new File("/my/file/location/" + file.getFileName());
        file.write(copied);

        return this;
    }

Thanks,
Dongmei

On 9/1/16, 12:50 AM, "Chris Poulsen" <[hidden email]> wrote:

    Unfortunately I think Carlos is correct.
   
    --
    Chris
   
    On Wed, Aug 31, 2016 at 11:18 PM, Pavel Chernyak <[hidden email]>
    wrote:
   
    > Hi there.
    >
    > Maybe you shall anotate field file @Persist?
    >
    >
    > On 31 August 2016 at 23:03, Qbyte Consulting <[hidden email]>
    > wrote:
    >
    > >
    > > I'm always finding that file is null for file upload? If I submit the
    > form
    > > without async=true then file value is set and it works.
    > >
    >
    >
    > --
    > With best regards.
    > Pavel Chernyak
    >
   

smime.p7s (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Ext] Re: file upload doesn't set file value

Dongmei Cao
1) I have the following dependencies

<dependency>
    <groupId>org.apache.tapestry</groupId>
    <artifactId>tapestry-upload</artifactId>
    <version5.4.3version>
</dependency>

Tried with and without the following two. Didn’t make any difference:

<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.2</version>
</dependency>

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>

2) Since I have the validate="required" in the .tml, it always display error message “You must provide a value for File”. It didn’t even get to the onSuccess(). If I remove the validate="required", it got to the onSuccess. But the file is null. So, yes, it throws NPE when trying file.getFileName().

3) I’m using it with SpringBoot. Not sure if that will make any difference.

Thanks,
Dongmei


From: yazmin georgina quintal <[hidden email]>
Reply-To: yazmin georgina quintal <[hidden email]>
Date: Tuesday, December 12, 2017 at 5:20 PM
To: Tapestry users <[hidden email]>, Dongmei Cao <[hidden email]>
Subject: [Ext] Re: file upload doesn't set file value

I am using it and it is working ok:

1. Did you add depedency to tapestry-fileupload module ?.
2. Does it throws a Null Pointer Exception or simply you do not see then file created ?
3. The path in "copied" File instance must exist, the method write will not create it.

I recently begun to use it without trouble.

Saludos.
Atte. Yazmín Georgina Quintal Moo
Local 63 y 64 de Plaza de la Tecnología. Villahermosa, Tab.
Tel 993 1311688
Cel. 9931 689207


El martes, 12 de diciembre de 2017 18:37:49 GMT-6, Dongmei Cao <[hidden email]> escribió:


Hi,

I know this is an old post. I’m trying to migrate our app from 5.3.8 to 5.4.3, and finding the file upload is no longer working. I’m not using t:zone at all. But the file value is always null. I see the JumpStart site (http://jumpstart.doublenegative.com.au/jumpstart/[jumpstart.doublenegative.com.au]) have the “File Upload” example disabled. Anyone has a working example. Could you please share?

<t:form>
    <t:errors/>
    <input t:type="upload" t:id="file" t:value="file" validate="required"/> <br/>
    <input type="submit" value="Upload"/>
</t:form>


    @Persist
    @Property
    private UploadedFile file;

    public Object onSuccess() {
        System.out.println(file.getFileName());
        File copied = new File("/my/file/location/" + file.getFileName());
        file.write(copied);

        return this;
    }

Thanks,
Dongmei

On 9/1/16, 12:50 AM, "Chris Poulsen" <[hidden email]> wrote:

    Unfortunately I think Carlos is correct.
   
    --
    Chris
   
    On Wed, Aug 31, 2016 at 11:18 PM, Pavel Chernyak <[hidden email]>
    wrote:
   
    > Hi there.
    >
    > Maybe you shall anotate field file @Persist?
    >
    >
    > On 31 August 2016 at 23:03, Qbyte Consulting <[hidden email]>
    > wrote:
    >
    > >
    > > I'm always finding that file is null for file upload? If I submit the
    > form
    > > without async=true then file value is set and it works.
    > >
    >
    >
    > --
    > With best regards.
    > Pavel Chernyak
    >
   


smime.p7s (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Ext] Re: file upload doesn't set file value

Dongmei Cao

Thanks for your example! Just for anyone who might run into to the same issue. It was the SpringBoot causing the issue for our case (we migrated to SpringBoot as we upgrade the Tapestry version). Had to specify a Multipart File Size in SpringBoot to have it work properly.

 

Dongmei

 

From: yazmin georgina quintal <[hidden email]>
Reply-To: yazmin georgina quintal <[hidden email]>
Date: Wednesday, December 13, 2017 at 6:38 AM
To: Tapestry users <[hidden email]>, Dongmei Cao <[hidden email]>
Subject: Re: [Ext] Re: file upload doesn't set file value

 

Do not know SpringBoot.

 

I add my test page, but I do not see any difference with your, and my dependency is simply

 

        <dependency>
            <groupId>org.apache.tapestry</groupId>
            <artifactId>tapestry-upload</artifactId>
            <version>5.4.3</version>
        </dependency>

 

On the browser, do you select the file to be send/post during your test ? I know, really simply but ... I though this because the required validation is probably been done on client side.

 

 

Saludos.

 

Atte. Yazmín Georgina Quintal Moo

Local 63 y 64 de Plaza de la Tecnología. Villahermosa, Tab.
Tel 993 1311688
Cel. 9931 689207

 

 

El martes, 12 de diciembre de 2017 21:45:56 GMT-6, Dongmei Cao <[hidden email]> escribió:

 

 

1) I have the following dependencies

<dependency>
    <groupId>org.apache.tapestry</groupId>
    <artifactId>tapestry-upload</artifactId>
    <version5.4.3version>
</dependency>

Tried with and without the following two. Didn’t make any difference:

<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.2</version>
</dependency>

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>

2) Since I have the validate="required" in the .tml, it always display error message “You must provide a value for File”. It didn’t even get to the onSuccess(). If I remove the validate="required", it got to the onSuccess. But the file is null. So, yes, it throws NPE when trying file.getFileName().

3) I’m using it with SpringBoot. Not sure if that will make any difference.

Thanks,
Dongmei


From: yazmin georgina quintal <[hidden email]>
Reply-To: yazmin georgina quintal <[hidden email]>
Date: Tuesday, December 12, 2017 at 5:20 PM
To: Tapestry users <[hidden email]>, Dongmei Cao <[hidden email]>
Subject: [Ext] Re: file upload doesn't set file value

I am using it and it is working ok:

1. Did you add depedency to tapestry-fileupload module ?.
2. Does it throws a Null Pointer Exception or simply you do not see then file created ?
3. The path in "copied" File instance must exist, the method write will not create it.

I recently begun to use it without trouble.

Saludos.
Atte. Yazmín Georgina Quintal Moo
Local 63 y 64 de Plaza de la Tecnología. Villahermosa, Tab.
Tel 993 1311688
Cel. 9931 689207


El martes, 12 de diciembre de 2017 18:37:49 GMT-6, Dongmei Cao <[hidden email]> escribió:


Hi,

I know this is an old post. I’m trying to migrate our app from 5.3.8 to 5.4.3, and finding the file upload is no longer working. I’m not using t:zone at all. But the file value is always null. I see the JumpStart site (http://jumpstart.doublenegative.com.au/jumpstart/[jumpstart.doublenegative.com.au][jumpstart.doublenegative.com.au]) have the “File Upload” example disabled. Anyone has a working example. Could you please share?



<t:form>
    <t:errors/>
    <input t:type="upload" t:id="file" t:value="file" validate="required"/> <br/>
    <input type="submit" value="Upload"/>
</t:form>


    @Persist
    @Property
    private UploadedFile file;

    public Object onSuccess() {
        System.out.println(file.getFileName());
        File copied = new File("/my/file/location/" + file.getFileName());
        file.write(copied);

        return this;
    }

Thanks,
Dongmei

On 9/1/16, 12:50 AM, "Chris Poulsen" <[hidden email]> wrote:

    Unfortunately I think Carlos is correct.
   
    --
    Chris
   
    On Wed, Aug 31, 2016 at 11:18 PM, Pavel Chernyak <[hidden email]>
    wrote:
   
    > Hi there.
    >
    > Maybe you shall anotate field file @Persist?
    >
    >
    > On 31 August 2016 at 23:03, Qbyte Consulting <[hidden email]>
    > wrote:
    >
    > >
    > > I'm always finding that file is null for file upload? If I submit the
    > form
    > > without async=true then file value is set and it works.
    > >
    >
    >
    > --
    > With best regards.
    > Pavel Chernyak
    >
   


smime.p7s (2K) Download Attachment