我通过现有的rest服务返回一个json对象,但我希望将json保存到用户本地磁盘。
答案 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"
答案 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数据下载为下载文件夹中的文件。