第一次做一个导出excel的功能,我能在服务器的电脑上生成文件,但客户端下载的时候,路径该怎么写才能拿到那个文件呀?
2 回答
达令说
TA贡献1821条经验 获得超6个赞
你的需求是下载服务端的excel文件,是吧。原理是将文件以字节流的形式返回给客户端(浏览器),客户端接收到响应,判断是字节流,会自动下载文件。以nodejs下载文件为例,java也差不多。服务端代码:设置响应头,告诉客户端这是一个文件fs.readFile("path/to/xx.xls",function(isErr,data){if(isErr){res.end("Readfilefailed!");return;}res.writeHead(200,{//告诉浏览器这是一个二进制文件'Content-Type':'application/octet-stream',//告诉浏览器这是一个需要下载的文件'Content-Disposition':'attachment;filename='+fileName,});res.end(data)})
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
一般情况下有两种方式可以做1,和你说的一样,服务端把文件生成好了给客户端文件的绝对路径,然后客户端进行下载缺点是直接暴露了后台服务文件的地址,在某些情况下存在一定的风险2,后台将处理好的文件转码,通过接口的形式把文件流传给前端,前端将文件流进行转码组成对应格式的文件
添加回答
举报
0/150
提交
取消