gpt4 book ai didi

java - 如何在 Spring4 Rest api 中流式传输大型 csv?

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

我正在使用 spring 4 web-mvc 创建一个rest api。我有一个巨大的 csv 文件想要流式传输。在 python 中我可以做的非常简单:

from flask import Response

@app.route('/large.csv')
def generate_large_csv():
def generate():
for row in iter_all_rows():
yield ','.join(row) + '\n'
return Response(generate(), mimetype='text/csv')

Spring 4 中的等效项是什么?这可能吗?

最佳答案

下面是伪代码作为提示:

@RequestMapping(value = "/large.csv", method = GET, produces = "text/csv")
@ResponseStatus(value = HttpStatus.OK)
public void streamLargeCSV(OutputStream output) {
InputStream is = new FileInputStream(csvFile);
int read=0;
byte[] bytes = new byte[1024 * 4]; //size per read

while((read = is.read(bytes))!= -1){
output.write(bytes, 0, read);
output.flush(); //may change flush rate to more rows/flush
}
output.close()
}

关于java - 如何在 Spring4 Rest api 中流式传输大型 csv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29552561/

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