Skip to main content
New Participant
October 25, 2016

Using request.getParts() in AEM servlet to get multiple files sent via an AJAX POST

  • October 25, 2016
  • 3 replies
  • 3217 views

Hi,

I am trying to read multiple files as attachments sent by a POST to my AEM servlet. I need to read each file and then pass them on to a call to AWS Api Gateway.

Looking at the API documentation https://docs.adobe.com/docs/en/aem/6-0/develop/ref/javadoc/org/apache/sling/api/SlingHttpServletRequest.html it says it inherits method getParts() from javax.servlet.http.HttpServletRequest.

In http://docs.oracle.com/javaee/6/tutorial/doc/gmhba.html it says I can use something like

Collection<Part> parts = request.getParts("file");

However in Eclipse runing my project on Maven Aem archetype 10, I cannot access Part unless I use
Collection<javax.servlet.http.Part> parts but the SlingHttpServletRequest object does not have access to getParts();

Am I approaching this incorrectly in AEM?

I have been working with AEM for 2 years now, but I have never had to read Multiple attachments before.

Regards

Clive Stewart

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

3 replies

MC_Stuff
New Participant
May 26, 2017

Hi Clive,

Since SlingHttpServletRequest inherts HttpServletRequest you can use getParts().  Are you getting any error Or method not found?

Thanks,

stuarts51930720
New Participant
September 12, 2017

I think the problem is the Servlet API version.   The oracle doc starts "Servlet 3.0 supports".  I think the interface that is being pulled in is an earlier version of the Servlet API.  I don't know if the AEM uber jar has Servlet 3.x apis.

The Adobe repo does not have Servlet API 3.0 . Here is the list from the repo (as of today):

```

<metadata modelVersion="1.1.0">

  <groupId>javax.servlet</groupId>

  <artifactId>servlet-api</artifactId>

  <versioning>

   <latest>2.5</latest>

   <release>2.5</release>

   <versions>

   <version>2.3</version>

   <version>2.4</version>

   <version>2.5</version>

   </versions>

   <lastUpdated>20130711152914</lastUpdated>

  </versioning>

</metadata>

```

nvssr90
New Participant
May 25, 2017

Hi Clive,

Any luck on this one..Even I have same requirement,

 

Thanks,

Sai