gen*_*pro 21 base64 json http multipart form-data
我有一台服务器,我需要将文件和一些字段从客户端上传到服务器.我目前一直在使用标准的multipart/form-data.
然而,我发现使用multipart/form-data并不理想.我的服务器上的对象可能嵌套在其中的其他对象,因此表示为嵌入其他JSON对象的JSON对象.
我希望客户端能够以REST-ful方式使用JSON表示开始发出POST/PUT请求,就像它对服务器的GET请求所期望的那样.这样我就不必将可能嵌套在JSON对象中的几个层的字段展平,以便使用multipart/form-data.
问题是,JSON不代表二进制数据.Multipart/form-data似乎没有办法表示嵌套在其他字段值中的字段.但它确实有更好的文件上传处理.
我对如何设计它感到茫然.我应该让客户端上传带有base64编码的字段的JSON,并获得25%的命中率吗?或者我应该在Multipart/form-data请求中将JSON对象表示为某种"json"变量,并将二进制文件作为另一个变量上载?
Ant*_*byh 10
我应该让客户端上传带有base64编码的字段的JSON,并获得25%的命中率吗?
自4/3 = 1.33以来,命中率为33%.
或者我应该在Multipart/form-data请求中将JSON对象表示为某种"json"变量,并将二进制文件作为另一个变量上载?
这应该工作.
您也可以考虑这种方法:使用multipart发送所有文件,然后获取一些文件识别器作为响应.把这个识别器放在你的json中,无论如何都要发送它.如果您有许多发送文件的方案,这种方法可能会有所帮助:您可能始终使用相同的请求将它们发送到服务器,然后获取其标识符; 之后,他们喜欢你.