使用Java将文件上载到ZenDesk

使用Java将文件上载到ZenDesk,java,jersey,zendesk,Java,Jersey,Zendesk,我正在尝试复制,使用java和Jersey,将一个文件上传到ZenDesk,作为票证上的附件。ZenDesk的示例代码使用curl和--data二进制参数,引用磁盘上的文件。 我使用一个在git上找到的SDK客户端作为起点,除了文件上传之外,这个SDK的所有功能都可以正常工作 以下是我目前上传的代码: File fileToUpload = new File(attachment.getUrl()); FileDataBodyPart fileP

我正在尝试复制,使用java和Jersey,将一个文件上传到ZenDesk,作为票证上的附件。ZenDesk的示例代码使用curl和--data二进制参数,引用磁盘上的文件。 我使用一个在git上找到的SDK客户端作为起点,除了文件上传之外,这个SDK的所有功能都可以正常工作

以下是我目前上传的代码:

        File fileToUpload = new File(attachment.getUrl());
        
        FileDataBodyPart filePart = new FileDataBodyPart(attachment.getFilename(), fileToUpload, MediaType.APPLICATION_OCTET_STREAM_TYPE); 
        
        FormDataContentDisposition.FormDataContentDispositionBuilder builder = FormDataContentDisposition.name(filePart.getName());
        builder.fileName(fileToUpload.getName());
        builder.size(fileToUpload.length());
        filePart.setFormDataContentDisposition(builder.build());
        
        FormDataMultiPart multiPart = new FormDataMultiPart();
        multiPart.bodyPart(filePart);
        multiPart.field("filename", attachment.getFilename());
        
        ClientResponse cr = rootResource.path("/api/v2/uploads.json")
                .accept(MediaType.APPLICATION_JSON_TYPE)
                .type(MediaType.MULTIPART_FORM_DATA_TYPE)
//              .post(AttachmentWrapper.class, attachment);
                .post(ClientResponse.class, multiPart);
这导致ZenDesk发出内部服务器错误500响应

我尝试了几种不同的参数安排,但没有成功。 我使用的作为起点的项目位于此处:

原始项目的问题在于上传的文件在ZenDesk服务器上没有可用的内容,它只是定义文件的JSON

谢谢


Allen

我暂时放弃了,我正在努力使用命令行curl。