gpt4 book ai didi

java - Gson 和 CSV 冲突?

转载 作者:行者123 更新时间:2023-11-30 02:43:16 25 4
gpt4 key购买 nike

我有一个方法,必须打印 CSV 并发送 JSON 来应答 ajax 调用。

这是包含以下两者的代码:

//Print of CSV
ByteArrayOutputStream os = (ByteArrayOutputStream)builder.buildCsvToStream(tableDataMatrixTemp);
getThreadLocalResponse().setContentType("text/csv");
getThreadLocalResponse().setHeader("Content-disposition", "attachment;filename=QuerySql_" + date + ".csv");

//Gson creation
Gson gson = new Gson();
String objectJson = gson.toJson("OK");


OutputStream responseOutputStream = getThreadLocalResponse().getOutputStream();
os.writeTo(responseOutputStream);
responseOutputStream.write(objectJson.getBytes("UTF-8"));

ajax 调用未收到 JSON 并且 CSV 未打印(未下载),我担心 CSV 和 JSON 会发生冲突。有人可以解决这个问题吗?

最佳答案

在服务器端,您仍然需要刷新并关闭OutputStream

responseOutputStream.flush();
responseOutputStream.close();

在前端,您需要通过 window.open 或创建如下 iframe 来下载文件:

$.post('/your-url', postData, function(retData) {
var iframe = document.createElement("iframe");
iframe.setAttribute("src", retData.url);
iframe.setAttribute("style", "display: none");
document.body.appendChild(iframe);
});

希望它能帮到你!

关于java - Gson 和 CSV 冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41016517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com