从服务器端下载文件
从服务器上下载文件到客户端时,需要前端和后端的配合。后端写将文件以流的形式下载的代码,前端则调用后端写的代码并启用浏览器的下载工具。
1、我的后端代码是用c#写的webservice,代码如下:

写完发布成服务后,打开这个服务,填入参数,发现可以直接下载文件,说明webservice没问题。
2、下一步是从前端调用。只能说我之前的经验太少,一直傻的用ajax进行调用,发现没什么卵用。后来才发现是我理解的不够,ajax主要是从服务器上获取json或其他文本数据,而下载是
流式数据,ajax无法获取,所以需要通过调用浏览器的下载工具去下载后端以获取的数据。所以用到window.open方法
window.open(url+"?path="+encodeURIComponent(path)+"&filename="+encodeURIComponent(fresultname),"_self").focus();
其中,url是后端webservice包含下载方法的url,然后参数通过?进行连接,多个参数之间通过&进行连接,每个参数名称与webservice中代码的参数名称一致,参数名称与参数
值之间通过=连接。参数最好通过encodeURIComponent进行解码。"_self"表示浏览器不打开新页面,直接下载,“_blank”表示打开新页面下载。
至此,就可以从服务器端下载文件了

浙公网安备 33010602011771号