带有MultipartFile的Java jackson

时间:2014-06-30 09:26:03

标签: java json spring jackson

好吧,首先我将解释我正在做什么,我使用Spring 4,我必须做一个应用程序,用一些附件[PDF]发送一些信息,每个文件都有一个标题,参考等等。因此,我将对象JSONJackson 2.3.3混合起来。

所以,在放入我的代码之前,我想问一下,我可以将MultipartFileJackson(或者可能是文件)一起使用吗? 在网上看到大量有关文件和JSON的答案和信息之后,我不清楚是否可以从客户端发送带有JSON的文件。如果可能,我可以在JSON对象中使用包含对象数组的一个属性发送此文件,每个对象将包含属性类型字符串,最后一个将是文件。

这是我的POJO

public class JsonDocBase{

    protected String tp="invoice";

    protected String cmt;

    protected String title;

    protected String lang="FR";

    protected String ref;

    protected MultipartFile file;

    -----get.. and set....
}


public class JsonOtherInformation{    
    String nm;

    String cmt;

    String orgMsgId;

    String tp;

    get.... set....

}

这两个对象将在

public class JsonTest {

    private JsonOtherInformation info;

    private JsonDocFile doc[];

    set... get...

}

我的服务春天是

@RequestMapping(value = "/simple", method = RequestMethod.POST)
public MessageDb creatSimpleeActivationRequest(@RequestBody JsonTest jRequestSimple

1 个答案:

答案 0 :(得分:1)

我认为,在JSON中发送文件内容不是一个好主意。您可以使用JSON返回有关文件的信息,该信息可能包含下载给定文件的URL。此方法用于Google Drive SDKFiles.get用于检索文件元数据,如果要下载文件内容,可以使用元数据对象中的downloadUrl属性。 (另见Drive SDK - Download Files)。

但如果您真的想要在JSON中返回文件内容,则必须将此内容转换为String。您可以使用Base64对内容进行编码,客户端必须在解析后对其进行解码。您可以编写自定义序列化程序,它可以将MultipartFile对象转换为字符串。