我正在编写一个带有embed jetty的服务器端应用程序,它接收来自第三方客户端的一些请求。客户端将一些小文件上传到服务器。但我很惊讶地看到客户端没有将文件数据上传为application / octet-stream,而是将json上传为application / json,其中包含有关该文件的所有元数据,并在字段中将所有数据作为字符串。举一个简单的例子
{ “_id”:“水果”, “名字”:“水果”, “_shasum”:“4954f1f8b4a8cbf9ea6b675face476f030cf7fbb”, “tarball”:“http:// localhost:8585 / fruit / - / fruit-2.0.0.tgz”, “_attachments”:{ “fruit-2.0.0.tgz”:{ “content_type”:“application / octet-stream”, “data”:“mF6 / 622swKoG0kbVvS8qCyF5r48CuyiCO60Mcl / LnOyufzAEZ5xxxhn / IT4DO4Fr4QAMAAA =”, “长度”:545 }}
现在的问题是如何将其转换为.tgz文件?我无法更改客户端,因此我必须使用此功能。
答案 0 :(得分:4)
使用JSON解析器获取String
byte[] decoded = Base64.getDecoder().decode(data);
InputStream stream = new ByteArrayInputStream(decoded);