好吧,首先我将解释我正在做什么,我使用Spring 4
,我必须做一个应用程序,用一些附件[PDF]发送一些信息,每个文件都有一个标题,参考等等。因此,我将对象JSON
与Jackson 2.3.3
混合起来。
所以,在放入我的代码之前,我想问一下,我可以将MultipartFile
与Jackson
(或者可能是文件)一起使用吗?
在网上看到大量有关文件和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
答案 0 :(得分:1)
我认为,在JSON
中发送文件内容不是一个好主意。您可以使用JSON
返回有关文件的信息,该信息可能包含下载给定文件的URL。此方法用于Google Drive SDK。 Files.get用于检索文件元数据,如果要下载文件内容,可以使用元数据对象中的downloadUrl
属性。 (另见Drive SDK - Download Files)。
但如果您真的想要在JSON
中返回文件内容,则必须将此内容转换为String
。您可以使用Base64对内容进行编码,客户端必须在解析后对其进行解码。您可以编写自定义序列化程序,它可以将MultipartFile
对象转换为字符串。