【问题标题】:@Multipart of cxf contains header information inside the file@Multipart of cxf 包含文件内的头信息
【发布时间】:2021-03-27 14:06:38
【问题描述】:

我正在使用邮递员将文件发送到我编写文件上传网络服务的服务器

代码如下:

 @POST
@Path("/uploadAssets")
 @Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
public void uploadAssets(@Multipart(value ="file") InputStream inputStream, @Suspended final AsyncResponse asyncResponse)

我在邮递员中使用表单数据来发送文件。 标题信息: 内容类型:multipart/form-data;边界=发送请求时计算

我复制了服务器收到的文件。当我检查它的内容时,我在顶部得到了这个:

----------------390134122734517341539891^M 内容处置:表单数据;名称=“文件”;文件名="beach2.jpg"^M 内容类型:图片/jpeg^M ^M

当我删除上面添加到二进制文件中的标头信息时,我可以看到正在服务器上呈现的图像。我尝试使用 MultipartBody,但遇到了不受支持的 mime 类型错误。谁能帮帮我?

另外,我在使用 formdataparam 时遇到 NullpointerException

   @POST
    @Path("/uploadAssets")
     @Consumes(MediaType.MULTIPART_FORM_DATA)
    @Produces(MediaType.APPLICATION_JSON)
    public void uploadAssets(@FormDataParam("file") InputStream inputStream, @FormDataParam("file") FormDataContentDisposition filFormDataContentDisposition, @Suspended final AsyncResponse asyncResponse) {
        try {

【问题讨论】:

  • 另外,当我使用 FormDataParam 时出现空指针异常

标签: rest postman jax-rs cxf multipart


【解决方案1】:

我认为,你应该像这样使用 MultipartFile;

@POST
@Path("/uploadAssets")
@Consumes(MediaType..MULTIPART_FORM_DATA_VALUE)
@Produces(MediaType.APPLICATION_JSON)
public void uploadAssets(@RequestParam("file") MultipartFile file, @Suspended final AsyncResponse asyncResponse)

【讨论】:

    猜你喜欢
    • 2017-12-31
    • 1970-01-01
    • 2011-05-22
    • 2017-09-27
    • 2014-10-31
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 2011-11-23
    相关资源
    最近更新 更多