我有一堆格式为JSON(序列化对象)的数据。
我通过POST
方法将此数据发送到服务器,标题为:Content-Type: application/json
。
是否可以将文件附加到正文请求并立即发送。或者JSON数据建议仅发送文本数据?
答案 0 :(得分:4)
在此上下文中,content-type
标题旨在描述请求正文中的数据类型。
如果您使用application/json
,服务器将需要一个JSON正文。
如果您的目标是使用JSON对象和文件发送单个请求,则可以使用JSON结构对文件进行编码(可能是base64。请参阅:Binary Data in JSON String. Something better than Base64)
{
...
file: "encoded_content",
...
}
或者您可以使用内容类型multipart/form-data
。
multipart是包含其他部分的部分。
第一个子部分可能是JSON结构。第二个可能是文件
答案 1 :(得分:1)
尝试将文件作为base64字符串发送到json对象中:
{
"file":"dGhpcyBpcyBhIGZpbGUgc2FtcGxl..."
}
稍后您可以使用以下内容打开文件:
document.location = 'data:application/pdf;base64,' + file