Repository: wicket
Updated Branches:
  refs/heads/master 8a4e1b3c2 -> c7f2b81e8


WICKET-6286 use XMLHttpRequest for blob download


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/c7f2b81e
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/c7f2b81e
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/c7f2b81e

Branch: refs/heads/master
Commit: c7f2b81e8bfbedc1cc37c66b256814a86eba69eb
Parents: 8a4e1b3
Author: Sven Meier <[email protected]>
Authored: Wed Mar 29 15:45:41 2017 +0200
Committer: Sven Meier <[email protected]>
Committed: Wed Mar 29 15:52:07 2017 +0200

----------------------------------------------------------------------
 .../extensions/ajax/wicket-ajaxdownload.js      | 23 ++++++++++++--------
 1 file changed, 14 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/c7f2b81e/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
index b13bbfa..64839d9 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
@@ -97,10 +97,13 @@
                                        }
                                });
                        } else {
-                               jQuery.ajax({
-                                       type: 'get',
-                                       url: settings.downloadUrl,
-                                       success: function (response, status, 
xhr) {
+                               // jquery does not support binary download
+                               var xhr = new XMLHttpRequest();
+
+                               xhr.open("GET", settings.downloadUrl);
+                               xhr.responseType = "blob";
+                               xhr.onload = function() {
+                                       if (this.status == 200) {
                                                var filename = "";
                                                var disposition = 
xhr.getResponseHeader("Content-Disposition");
                                                if (disposition && 
disposition.indexOf("attachment") !== -1) {
@@ -111,7 +114,7 @@
                                                }
 
                                                var type = 
xhr.getResponseHeader("Content-Type");
-                                               var blob = new Blob([response], 
{type: type});
+                                               var blob = new 
Blob([xhr.response], {type: type});
 
                                                var blobUrl = (window.URL || 
window.webkitURL).createObjectURL(blob);
 
@@ -129,12 +132,14 @@
                                                }, 100);
 
                                                notifyServer("success");
-                                       },
-
-                                       error: function (response, status, xhr) 
{
+                                       } else {
                                                notifyServer("failed");
                                        }
-                               });
+                               };
+                               xhr.onerror = function() {
+                                       notifyServer("failed");
+                               };
+                               xhr.send();
                        }
                }
        }; 

Reply via email to