0

I am new to Jersey.

And i want to upload the excel/any file to the server. for which i have tried

this is my pom.xml file

<build>
    <finalName>eduvib</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.5.1</version>

        </plugin>
    </plugins>
</build>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.glassfish.jersey</groupId>
            <artifactId>jersey-bom</artifactId>
            <version>${jersey.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

<dependencies>
    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet-core</artifactId>

    </dependency>

    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-moxy</artifactId>
    </dependency>

</dependencies>
<properties>
    <jersey.version>2.16</jersey.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<packaging>war</packaging>

And this is my rest service in jersey

@POST
@Path("/BulkQuestion")
@Consumes({MediaType.MULTIPART_FORM_DATA})
public Response uploadPdfFile(  @FormDataParam("file") InputStream fileInputStream,
                                @FormDataParam("file") FormDataContentDisposition fileMetaData) throws Exception
{
    String UPLOAD_PATH = "/home/pavan/Desktop/";
    try
    {
        int read = 0;
        byte[] bytes = new byte[1024];

        OutputStream out = new FileOutputStream(new File(UPLOAD_PATH + fileMetaData.getFileName()));
        while ((read = fileInputStream.read(bytes)) != -1)
        {
            out.write(bytes, 0, read);
        }
        out.flush();
        out.close();
    } catch (IOException e)
    {
        throw new WebApplicationException("Error while uploading file. Please try again !!");
    }
    return Response.ok("Data uploaded successfully !!").build();
}

But when i put this rest service my application wont run(None of the Api works) it give 500 status code server error and this is the error log i got :

    org.glassfish.jersey.server.model.ModelValidationException: Validation of the application resource model has failed during application initialization.
[[FATAL] No injection source found for a parameter of type public javax.ws.rs.core.Response com.gary.server.eduvib.resource.QuestionResource.uploadPdfFile(java.io.InputStream,org.glassfish.jersey.media.multipart.FormDataContentDisposition) throws java.lang.Exception at index 0.; source='ResourceMethod{httpMethod=POST, consumedTypes=[multipart/form-data], producedTypes=[], suspended=false, suspendTimeout=0, suspendTimeoutUnit=MILLISECONDS, invocable=Invocable{handler=ClassBasedMethodHandler{handlerClass=class com.gary.server.eduvib.resource.QuestionResource, handlerConstructors=[org.glassfish.jersey.server.model.HandlerConstructor@48301a35]}, definitionMethod=public javax.ws.rs.core.Response com.gary.server.eduvib.resource.QuestionResource.uploadPdfFile(java.io.InputStream,org.glassfish.jersey.media.multipart.FormDataContentDisposition) throws java.lang.Exception, parameters=[Parameter [type=class java.io.InputStream, source=file, defaultValue=null], Parameter [type=class org.glassfish.jersey.media.multipart.FormDataContentDisposition, source=file, defaultValue=null]], responseType=class javax.ws.rs.core.Response}, nameBindings=[]}']
 org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:502)
 org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:166)
F0XS
  • 1,271
  • 3
  • 15
  • 19
pavan kumar
  • 89
  • 1
  • 2
  • 10
  • Replace @Consumes({MediaType.MULTIPART_FORM_DATA}) with @Consumes({MediaType.APPLICATION_OCTET_STREAM}). See this https://stackoverflow.com/questions/46196351/image-file-upload-through-rest-webservice/46198526#46198526 – dsp_user Oct 05 '17 at 06:26
  • Check this answer: https://stackoverflow.com/questions/14288856/jersey-2-injection-source-for-multipart-formdata – ddarellis Oct 05 '17 at 06:39

0 Answers0