小编ber*_*ert的帖子

使用 pojo 的 Resteasy 多部分/表单数据编码

我在使用 resteasy 和 multipart 表单时遇到了麻烦,我希望有人可能有同样的问题,或者能够帮助我。

我的目标是同时上传一个文件和一些参数。我使用注释到 POJO-Form 的 @MultipartForm 尝试了这个:

@PUT
@Path("/userdebug1/{userId}")
@Consumes("multipart/form-data")
@Produces("application/json;charset=UTF-8")
public String updateUserDebug1( @MultipartForm UserRequestForm request )
{
    return request.getName();
}
Run Code Online (Sandbox Code Playgroud)

UserRequestForm 表单为:

public class UserRequestForm 
{
    @FormParam("name")
    String name;

    @FormParam("blob")
    @PartType("application/octet-stream")
    byte[] image;

    public String getName() 
    {
        return name;
    }

    public void setName(String n) 
    {
        this.name =n;
    }

    public byte[] getImage() 
    {
        return image;
    }

    public void setImage(byte[] image) 
    {
        this.image = image;
    }
}
Run Code Online (Sandbox Code Playgroud)

这一切都很好,除了字符编码被破坏。如果我使用变音,它不会正确返回。而如果我使用以下方法:

@PUT
@Path("/userdebug2/{userId}")
@Consumes("multipart/form-data")
@Produces("application/json;charset=UTF-8")
public String updateUserDebug2(MultipartFormDataInput …
Run Code Online (Sandbox Code Playgroud)

multipartform-data resteasy

5
推荐指数
1
解决办法
6372
查看次数

标签 统计

multipartform-data ×1

resteasy ×1