It was never implemented like that where I can see. There is no reference to 
interceptor-ref name=fileUpload.

-----Original Message-----
From: Lukasz Lenart <lukaszlen...@apache.org>
Sent: Sunday, May 18, 2025 12:34 AM
To: Struts Users Mailing List <user@struts.apache.org>
Subject: Re: JSP/file upload issue

EXTERNAL EMAIL: This message was sent from outside DOJ. Please do not click 
links or open attachments that appear suspicious.


Did you migrate to the Action based file upload interceptor?
https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_confluence_display_WW_Struts-2B6.x.x-2Bto-2B7.x.x-2Bmigration-23Struts6.x.xto7.x.xmigration-2DFileupload&d=DwIFaQ&c=uASjV29gZuJt5_5J5CPRuQ&r=nKDP-dawHhLZnXgTPWFen5qvRPMWAdYO6bsGXhaJOzk&m=AQx6VOmSjMCR7IjJPCTu6R_lCgskNNCJvwYrQYNJJ1E30_4_FX7tqj5xsOtKHYLU&s=rEPKAMlkmPjxfb3kcvTRVr81yl4zgJbd1mGHv1Ooo-c&e=

Support for old FileuploadInterceptor has been removed in Struts 7 also it's 
related to the security vulnerability 
https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_confluence_display_WW_S2-2D067&d=DwIFaQ&c=uASjV29gZuJt5_5J5CPRuQ&r=nKDP-dawHhLZnXgTPWFen5qvRPMWAdYO6bsGXhaJOzk&m=AQx6VOmSjMCR7IjJPCTu6R_lCgskNNCJvwYrQYNJJ1E30_4_FX7tqj5xsOtKHYLU&s=ifnkENOpOXBeADeTuJQ7nDlMrnKFUkjuUR3bCvinp9c&e=

pt., 16 maj 2025 o 22:08 Deborah White
<deborah.wh...@doj.ca.gov.invalid> napisaƂ(a):
>
> Hello, migrating from 2.3 to 7.0 and this no longer works. I am not getting 
> the document or the document name. I have this in my jsp page:
>
> var options = {
>                                              target:        
> '#complaintDetailsDiv',
>                                              beforeSubmit:  showRequest1,
>                                              success:       showResponse1,
>                                              url:       '<s:url 
> value="complaintMgmtAddDocs.action" encode="true"/>',
>                                              type:      'post'
>                               };
>
>                               
> $('#complaintMgmtAddDocsForm').submit(function() {
>                                              
> $('#complaintMgmtAddDocsForm').ajaxSubmit(options);
>                                              return false;
>                               });
> function showRequest1(formData, jqForm, options) {
>
>                    var queryString = $.param(formData);
>
>                    if (documentValidateForm('complaintMgmtAddDocsForm')){
>                               $('#StatusMessage').html("<img 
> src='../web/images/busySmall.gif'>");
>                                              
> document.getElementById("button_submit_docs").disabled = "disabled";
>                               return true;
>                    }else{
>                               return false;
>                    }
>                }
>
>                               function showResponse1(responseText, 
> statusText)  {
>                                              if (statusText == 'success'){
>                                                             
> initComplaintDetails();
>                                              }
>                                              
> $('#complaintMgmtTabs').tabs('select', 2);
>                               }
>
> <div id="complaintDocumentAccordion" class="accordion">
>                                              <div>
>                                                             <h3><a 
> href="#">Add Document</a></h3>
>                                                             <div>
>
> <form name="complaintMgmtAddDocsForm" id="complaintMgmtAddDocsForm"
> ENCTYPE="multipart/form-data" action="" method="post">
>
>                                                                               
>             <fieldset style="width:725px;">
>                                                                               
>                            <legend>Add Document</legend>
>                                                                               
>                            <table border="0" cellpadding="0" cellspacing="0" 
> width="695" style="margin:5px">
>                                                                               
>                                           <tr>
>                                                                               
>                                                          <td width="40%">
>                                                                               
>                                                                         
> <label class="desc" for="documentData.documentTypeId">Select Document 
> Type&nbsp;<span class="req" title="Required">*</span></label>
>                                                                               
>                                                          </td>
>                                                                               
>                                                          <td width="60%">
>                                                                               
>                                                                               
>          <label class="desc" for="documentData.receivedDate">Processed 
> Date&nbsp;<span class="req" title="Required">*</span></label>
>                                                                               
>                                                          </td>
>                                                                               
>                                           </tr>
>                                                                               
>                                           <tr>
>                                                                               
>                                                          <td>
>                                                                               
>                                                                         
> <s:select
>                                                                               
>                                                                         
> name="documentData.documentTypeId"
>                                                                               
>                                                                         
> id="documentData.documentTypeId"
>                                                                               
>                                                                         
> headerKey=""
>                                                                               
>                                                                         
> headerValue="Select Document Type"
>                                                                               
>                                                                         
> list="#session.documentTypeList"
>                                                                               
>                                                                         />
>                                                                               
>                                                          </td>
>                                                                               
>                                                          <td>
>                                                                               
>                                                                         
> <input type="text" name="documentData.receivedDate" 
> id="documentData.receivedDate" value="<s:property value="systemDate"/>" 
> maxlength="10" style="width:80px;"/>
>                                                                               
>                                                          </td>
>                                                                               
>                                           </tr>
>                                                                               
>                            </table>
>                                                                               
>                            <table border="0" cellpadding="0" cellspacing="0" 
> width="695" style="margin:5px">
>                                                                               
>                                           <tr>
>                                                                               
>                                                          <td width="40%">
>                                                                               
>                                                                         
> <label class="desc" for="documentData.documentDesc">Document Desc&nbsp;<span 
> class="req" title="Required">*</span></label>
>                                                                               
>                                                          </td>
>                                                                               
>                                                          <td width="60%">
>                                                                               
>                                                                         
> <label class="desc" for="documentData.documentImage">Attach 
> Document&nbsp;<span class="req" title="Required">*</span></label>
>                                                                               
>                                                          </td>
>                                                                               
>                                           </tr>
>                                                                               
>                                           <tr>
>                                                                               
>                                                          <td>
>                                                                               
>                                                                         
> <input type="text" name="documentData.documentDesc" 
> id="documentData.documentDesc" value="" maxlength="50" class="text medium" 
> style="width:200px;"/>
>                                                                               
>                                                          </td>
>                                                                               
>                                                          <td>
>                                                                               
>                                                                         
> <input type="file" name="documentData.documentImage" 
> id="documentData.documentImage" size="50"/>
>                                                                               
>                                                          </td>
>                                                                               
>                                           </tr>
>                                                                               
>                            </table>
>                                                                               
>                            <table border="0" cellpadding="0" cellspacing="0" 
> width="695" style="margin:5px">
>                                                                               
>                                           <tr>
>                                                                               
>                                                          <td colspan="2" 
> align="center">
>                                                                               
>                                                                         
> <input id="button_submit_docs" class="button" type="submit" value="Add" 
> name="button_submit_docs"/>
>                                                                               
>                                                                         
> &#160;&#160;
>                                                                               
>                                                                         <span 
> id="StatusMessage" class="statusMessage"></span>
>                                                                               
>                                                          </td>
>
> </tr>
>
>
> </table>
>
>                                                                               
>             </fieldset>
>
> <input type="hidden" name="complaintId" id="complaintId"
> value="<s:property value="complaintDisplayData.complaintId"/>">
>
>                                                                            
> </form>
>                                                             </div>
>                                              </div>
>                               </div>
>
>
> And this is my class:
> package gov.ca.doj.sotas.action;
>
> import gov.ca.doj.sotas.businesshandler.SotasManager;
> import gov.ca.doj.sotas.databean.ComplaintData;
> import gov.ca.doj.sotas.databean.DocumentData;
> import gov.ca.doj.sotas.util.SotasConstants;
> import gov.ca.doj.sotas.util.SotasUtil;
>
>
> /**
> * Implementation of Action for Complaint Add Documents.
> *
>  * @Author: Hitesh Parekh
> * @version 1.0
> * @since 03/15/2011
> */
> public final class ComplaintAddDocsAction extends BaseWebAction {
>
>     ComplaintData complaintDisplayData = null;
>     DocumentData documentData = null;
>     int complaintId;
>
>
>     public String execute() {
>         logger.debug("In ComplaintAddDocsAction.execute");
>
>         String status = super.execute();
>
>         if (status == SUCCESS) {
>             SotasManager manager = new SotasManager();
>             try {
>                 if (documentData.getDocumentImage() != null) {
>                     
> documentData.setDocumentBytes(SotasUtil.getBytesFromFile(documentData.getDocumentImage()));
>                     
> documentData.setDocumentSize(documentData.getDocumentImage().length());
>                 }
>
>                 documentData.setId(complaintId);
>                 
> documentData.setTableListId(SotasConstants.CONSUMER_COMPLAINT);
>                 manager.addDocument(documentData,getUserId());
>                 complaintDisplayData = 
> manager.getComplaintForDisplay(complaintId);
>                 status = SUCCESS;
>             } catch (Exception e) {
>                 logger.error("In ComplaintAddDocsAction.execute", e);
>                 addActionError(getText("error.system"));
>                 status = ERROR;
>             }
>         }
>         return status;
>     }
>
>     public void setComplaintDisplayData(ComplaintData complaintDisplayData) {
>         this.complaintDisplayData = complaintDisplayData;
>     }
>
>     public ComplaintData getComplaintDisplayData() {
>         return complaintDisplayData;
>     }
>
>     public void setDocumentData(DocumentData documentData) {
>         this.documentData = documentData;
>     }
>
>     public DocumentData getDocumentData() {
>         return documentData;
>     }
>
>     public void setComplaintId(int complaintId) {
>         this.complaintId = complaintId;
>     }
>
>     public int getComplaintId() {
>         return complaintId;
>     }
> }
>
> Any ideas??
>
> CONFIDENTIALITY NOTICE: This communication with its contents may contain 
> confidential and/or legally privileged information. It is solely for the use 
> of the intended recipient(s). Unauthorized interception, review, use or 
> disclosure is prohibited and may violate applicable laws including the 
> Electronic Communications Privacy Act. If you are not the intended recipient, 
> please contact the sender and destroy all copies of the communication.

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


CONFIDENTIALITY NOTICE: This communication with its contents may contain 
confidential and/or legally privileged information. It is solely for the use of 
the intended recipient(s). Unauthorized interception, review, use or disclosure 
is prohibited and may violate applicable laws including the Electronic 
Communications Privacy Act. If you are not the intended recipient, please 
contact the sender and destroy all copies of the communication.

Reply via email to