【问题标题】:Java jackson with MultipartFileJava 杰克逊与 MultipartFile
【发布时间】:2014-07-01 17:33:02
【问题描述】:

好吧,首先我将解释我在做什么,我使用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

【问题讨论】:

    标签: java json spring jackson


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,经过一些测试,我将文件放在客户端的base64中,然后在服务器端将base64更改为文件
    猜你喜欢
    • 2011-08-25
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    • 1970-01-01
    • 2013-06-09
    • 2015-05-02
    • 2015-02-04
    相关资源
    最近更新 更多