I am also sorry because I can not see the difference why my upload is working 
and yours is not.

Best regards
Ute

> Gesendet: Samstag, 10. Mai 2025 um 18:45
> Von: "Jesus Moreno" <jesus...@gmail.com>
> An: user@struts.apache.org, "Struts Users Mailing List" 
> <user@struts.apache.org>
> Betreff: Re: Aw: File Upload Failure in Struts 7.0.3 Migration - 
> UploadedFilesAware Implementation Issue
>
> Ohh sorry about my current configuration that I shared but I was trying many 
> options. First I was trying exactly refer to the documentation but I did not 
> have success.
> 
> 1. According to the docs, it’s unnecessary put interceptor refer again, 
> because defaultStack consider use actionFileUpload interceptor but I referred 
> manually. (I suppose that is necessary but I was trying without both refers, 
> actionFileUpload and defaultStack and nothing)
> 2. Mi jsp looks like this:
> 
> <s:form action="myAction" enctype="multipart/form-data" method="POST">
> <s:file name=“upload” label=“Select a file” />
> <s:submit>Upload</s:submit>
> </s:form>
> 
>      3.  As you can see first I am trying to test a basic example because I’d 
> like to understand how do I upload a file in the new version because I am 
> migrating an app.
> 
> Finally I did not understand if you had success to upload a file to the 
> server. It is true?
> 
> That’s why I ask for your support.
> 
> I appreciate your assistance.
> 
> Regards
> On 10 May 2025 at 2:57:02 AM -0600, Ute Kaiser <ut...@web.de.invalid>, wrote:
> > Hi,
> >
> > I tried the same last week for the first time, and here is my experience:
> > 1.
> > WARN [org.apache.struts2.components.File] (default task-5) Struts has 
> > detected a file upload UI tag (s:file) being used without a form set to 
> > method 'POST'. This is probably an error!
> > I used <s:form> and it was rendered automatically to method=post but to get 
> > rid of the warning I had to set it manually
> > <s:form action="myAction" enctype="multipart/form-data" method="POST">
> > 2.
> > MyAction.java looks pretty much the same as your HelloAction.java.
> > But it helped me to use "newLogo" instead of "upload" in jsp and action 
> > class.
> > 3.
> > I did not use any of your struts.xml configuration.
> > a)
> > <interceptor-ref name="actionFileUpload" />
> > <interceptor-ref name="basicStack" />
> > I think "actionFileUplad" is enclosed in the "defaultStack".
> > I do not know about this "basicStack" you copied from the documentation 
> > example.
> > b)
> > <constant name="struts.multipart.parser" value="jakarta" />
> > <constant name="struts.multipart.maxSize" value="10485760" /> <!-- 10MB -->
> > <constant name="struts.multipart.saveDir" value="C:
> > temp"/> <!-- Ruta absoluta -->
> > Your saveDir looks strange to me.
> > I use the default saveDir which turned out as a Wildfly tmp directory, and 
> > then save to my targetPath with:
> > Files.copy( ( (File) newLogo.getContent() ).toPath(), targetPath, 
> > StandardCopyOption.REPLACE_EXISTING );
> > 4.
> > You did not give much info on your jsp.
> > Here is my part: <s:file name="newLogo" accept="image/*"/>
> >
> > Perhaps you can strip down with less struts.xml configuration to find a 
> > solution to your problem.
> > Good luck
> > Ute
> >
> >
> > > Gesendet: Samstag, 10. Mai 2025 um 05:42
> > > Von: "Jesus Moreno" <jesus...@gmail.com>
> > > An: user@struts.apache.org
> > > Betreff: File Upload Failure in Struts 7.0.3 Migration - 
> > > UploadedFilesAware Implementation Issue
> > >
> > > I'm migrating an application from Struts 2.5 to 7.0.3 and encountering
> > > persistent issues with file upload functionality despite following the
> > > documentation.
> > >
> > > The UploadedFile object remains null in my action class, even with:
> > >
> > > - Correct UploadedFilesAware implementation
> > > - Proper multipart form configuration
> > > - Debug logs showing no uploaded files (ActionFileUploadInterceptor 
> > > reports
> > > empty acceptedFiles)
> > >
> > > Logs show:
> > >
> > > 2025-05-09 01:00:25 DEBUG ActionFileUploadInterceptor:179 - No files have
> > > been uploaded/accepted
> > > 2025-05-09 01:00:25 WARN File:79 - Struts has detected a file upload UI 
> > > tag
> > > (s:file) being used without a form set to method 'POST'
> > > (Despite <s:form method="POST" enctype="multipart/form-data"> being
> > > correctly declared)
> > >
> > > Basic action:
> > > // Action
> > > public class HelloAction extends ActionSupport implements
> > > UploadedFilesAware {
> > > public UploadedFile upload; // Always null
> > >
> > > @Override
> > > public String execute() {
> > > //do something with the file
> > > return SUCCESS;
> > > }
> > > @Override
> > > public void withUploadedFiles(List<UploadedFile> uploadedFiles) {
> > > if (!uploadedFiles.isEmpty()) {
> > > //This never execute cause always is empty
> > > this.upload = uploadedFiles.get(0); // Never reached
> > > }
> > > }
> > > }
> > > struts.xml:
> > > <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts
> > > Configuration 6.5//EN"
> > > "https://struts.apache.org/dtds/struts-6.5.dtd";>
> > > <struts>
> > > <constant name="struts.multipart.parser" value="jakarta" />
> > > <constant name="struts.multipart.maxSize" value="10485760" /> <!-- 10MB
> > > -->
> > > <constant name="struts.multipart.saveDir" value="C:
> > > temp"/> <!-- Ruta absoluta -->
> > > <package name="default" extends="struts-default">
> > >
> > > <action name=""><result>/hello.jsp</result></action>
> > >
> > > <action name="hello"
> > > class="mx.com.jeser.ejemplo.actions.HelloAction">
> > > <interceptor-ref name="actionFileUpload" />
> > > <interceptor-ref name="basicStack" />
> > > <result name="success">/success.jsp</result>
> > > <result name="input">/input.jsp</result>
> > > <result name="error">/error.jsp</result>
> > > </action>
> > > </package></struts>
> > >
> > > We are trying to implement the new features according the follow docs for
> > > version 7.0.3:
> > >
> > > https://struts.apache.org/security/#defining-and-annotating-your-action-parameters
> > > https://struts.apache.org/core-developers/action-file-upload-interceptor
> > >
> > > I would greatly appreciate your assistance in identifying if we might be
> > > overlooking any undocumented requirements or configurations.
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> > For additional commands, e-mail: user-h...@struts.apache.org
> >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to