Javascript / Html5从网址下载zip

时间:2016-04-20 08:06:29

标签: javascript ajax html5 download zip

是否有可能通过javascript或html5(客户端)从网址下载zip?

我正在尝试使用ajax:

$.ajax({
                    type: 'GET',
                    //dataType: "json",
                    //crossDomain: true,
                    crossOrigin: true,
                    //url : "https://pdftron.s3.amazonaws.com/files/xod/NY_fun_list." + docType,
                    url: 'http://www.pdftron.com/webviewer/demo/doc/WebViewer_Developer_Guide.pdf',
                    headers:{'Access-Control-Allow-Origin': '*'},
                    success: function (responseData, textStatus, jqXHR) {
                        console.log('in');
                        //data = JSON.parse(responseData['AuthenticateUserResult']);
                        console.log(data);
                    },
                    error: function (responseData, textStatus, errorThrown) {
                        alert('Get non riuscita');
                    }
              });

我对CROSS Origin一直有同样的问题,我不知道这是否是正确的方法。 有什么建议吗?

感谢。

2 个答案:

答案 0 :(得分:1)

这将在您的浏览器中下载.pdf:

<a href="http://www.pdftron.com/webviewer/demo/doc/WebViewer_Developer_Guide.pdf" download="my_file.pdf>DOWNLOAD PDF</a>

答案 1 :(得分:0)

通过Javascript 将文件自动下载到用户的计算机似乎不合需要。此外,在尝试从Javascript加载任意URL时,您将遇到一大堆问题,因为CORS旨在防止脚本访问他们无法控制的域。

如果您始终从您控制的域加载,则需要在服务器/后端应用程序上配置CORS:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

但是,在我看来,如果你想将文件下载到用户的计算机上,你应该总是按照他们的条款下载该文件,给他们一个HTML5下载链接来点击他们自己。

HTML5具有download属性,该属性将告诉浏览器始终下载该文件,并且它不会受到CORS的影响。 download属性的值是文件的名称,因为它应该保存在他们的计算机上。

<a href="http://www.pdftron.com/webviewer/demo/doc/WebViewer_Developer_Guide.pdf" download="WebViewer_Developer_Guide.pdf">Download Now</a>