我们如何通过休息Web服务将json导出为文件?

时间:2017-06-29 07:02:18

标签: java json rest

我通过现有的rest服务返回一个json对象,但我希望将json保存到用户本地磁盘。

3 个答案:

答案 0 :(得分:0)

您可以在服务器中编写该文件。并使用以下代码将文件发送给用户。

String path = context.getSession().getServletContext().getRealPath("/") + "path to file";  

InputStream inputStream = prepairFileStream(response, path);
if (inputStream == null) return;

FileCopyUtils.copy(inputStream, response.getOutputStream());

答案 1 :(得分:0)

只有用户可以选择将文件保存在本地磁盘上。

您可以建议浏览器(前提是用户侧有浏览器)通过在您的回复中添加Content-Disposition标题来提示用户“另存为...”对话框:

Content-Disposition: attachment; filename="fname.json"

List of HTTP header fields

答案 2 :(得分:0)

您可以这样做: -

testFunction: function(req, res){

var yourJson = {"test":"testing"};
var text={"filename.txt":yourJson};
res.set({'Content-Disposition': 'attachment;filename=\"cards.txt\"','Content-type': 'text/plain'});
res.send(text['filename.txt']);

}

这会将您的json数据下载为下载文件夹中的文件。