有个excel文件,在A服务器,我的工程是在B服务器,请问怎么可以用js下载到A服务器上面这个文件

有个excel文件,在A服务器某个目录下面,我的工程是部署在B服务器,请问怎么可以用js下载到A服务器上面这个文件

FineReport 罗罗诺亚索隆 发布于 3 天前
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
用户k6280494Lv6专家互助
发布于3 天前
最佳回答
0
Yours飞飞Lv5见习互助
发布于3 天前
方案一:远程URL调用(结合4与1)
  1. 部署A服务器文件接口在A服务器编写JSP文件,通过文件流方式暴露Excel下载接口:


<%-- 参考知识库代码 --%>

String path = "C:/文件路径/test.xlsx"; // 替换为实际文件路径

response.setHeader("Access-Control-Allow-Origin", "*"); // 跨域允许

response.setHeader("Content-Disposition", "attachment;filename=download.xlsx");

java.io.OutputStream out = response.getOutputStream();

// 文件流传输代码(完整代码参考{{远程Excel数据集-1938.md}})
  1. 在B服务器工程中用JS调用通过超链接或按钮事件触发下载:

window.open("http://A服务器IP:端口/接口路径.jsp");
方案二:文件服务挂载(结合5)
  1. 共享文件存储将A服务器文件挂载到共享存储(如NAS),确保B服务器工程可通过统一路径访问。例如:

  • NAS路径:\\NAS共享路径\excel/test.xlsx

  • 工程配置:在B服务器配置文件服务指向NAS路径。

  1. 通过插件下载(参考3)在填报单元格中配置超级链接:

文件路径公式:="\\\\NAS共享路径\\excel\\"+$$$  // $$$代表当前文件名

文件下载插件配置参考

跨域补充说明

如果采用方案一且遇到跨域限制,需在A服务器接口中增加以下响应头:


Access-Control-Allow-Origin: http://B服务器域名

Access-Control-Allow-Methods: GET

最佳回答
0
CD20160914Lv8专家互助
发布于3 天前
  • 4关注人数
  • 25浏览人数
  • 最后回答于:3 天前
    请选择关闭问题的原因
    确定 取消
    返回顶部