java - Jersey : File Uploading Issue

标签 java jersey

我使用的是 Jersey 1.9.1。当我包含 com.sun.jersey[not org.glassfish] 的 jersey-multipart 时,FormDataMultiPart 编译错误消失了。但是,它在运行时抛出以下错误。请修复!

Mar 22, 2017 1:52:53 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet [Jersey] in web application [/csmgt] threw load() exception
java.lang.ClassNotFoundException: com.sun.jersey.multipart.FormDataMultiPart
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.privateGetPublicMethods(Unknown Source)
    at java.lang.Class.getMethods(Unknown Source)
    at com.sun.jersey.core.reflection.MethodList.getMethods(MethodList.java:77)
    at com.sun.jersey.core.reflection.MethodList.<init>(MethodList.java:64)
    at com.sun.jersey.core.reflection.MethodList.<init>(MethodList.java:60)
    at com.sun.jersey.server.impl.modelapi.annotation.IntrospectionModeller.createResource(IntrospectionModeller.java:116)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.getAbstractResource(WebApplicationImpl.java:745)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.createAbstractResourceModelStructures(WebApplicationImpl.java:1522)
    at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1295)

最佳答案

我尝试按照 Jersey 代码上传图像文件,

@POST
    @Path("/upload")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    @Produces(MediaType.APPLICATION_JSON)
    public Object fileupload(@FormDataParam("file") InputStream uploadedInputStream,
                             @FormDataParam("file") FormDataContentDisposition fileDetail,@Context HttpContext context){
            String tenant = context.getRequest().getAbsolutePath().getHost(); 
            Session session = null;

            try{
                LOGGER.info("--- File upload request ---");
                session = TenantSesionFactory.openSession(tenant);


                return this.fileUploadProcess.upload(uploadedInputStream, fileDetail,session);

            }catch (BadRequestException e ) {
                throw new BadRequestException(e.getMessage());
             }catch(Exception e){
                LOGGER.error("error in host -> "+tenant,e);
                throw new UncaughtException();
            }finally{
                TenantSessionManager.close(session);
            }


    }

我收到文件作为输入流。

关于java - Jersey : File Uploading Issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42962756/

相关文章:

Java:即使 module-info 打开必要的包, springrframework.beans 也无法访问

mysql - 确保关闭 EntityManager 连接的正确方法是什么?

java - 使用通用参数使用 REST 服务

spring - HTTP 状态 415 - 执行 POST 时不支持的媒体类型

java - Hibernate 和 Jersey 依赖冲突(javassist) - 谁能解释这是如何工作的?

Java 集合 ArrayList、LinkedList 抛出异常

java - 如何使用 Jackson 反序列化泛型类?

java - 从运行 Java Jersey Rest API 的 HTTP 服务器传输大文件

java - 使用 java 连接由 Pipe 和 ':' 分隔的整数值

java - 我有 2 个不同的类想要添加到 ArrayList 中,定义 ArrayList 的最佳方法是什么?