You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2017/03/29 13:52:29 UTC

wicket git commit: WICKET-6286 use XMLHttpRequest for blob download

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 <sv...@apache.org>
Authored: Wed Mar 29 15:45:41 2017 +0200
Committer: Sven Meier <sv...@apache.org>
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();
 			}
 		}
 	};