Did you migrate to the Action based file upload interceptor?
https://cwiki.apache.org/confluence/display/WW/Struts+6.x.x+to+7.x.x+migration#Struts6.x.xto7.x.xmigration-Fileupload

Support for old FileuploadInterceptor has been removed in Struts 7
also it's related to the security vulnerability
https://cwiki.apache.org/confluence/display/WW/S2-067

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

Reply via email to