Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SetEnvIf Request_URI "([^/]+.jpg)$" REQUESTED_IMAGE_BASENAME=$1
- SetEnvIf Request_URI "([^/]+.png)$" REQUESTED_IMAGE_BASENAME=$1
- Header set Content-Disposition "attachment; filename="%{REQUESTED_IMAGE_BASENAME}e"" env=REQUESTED_IMAGE_BASENAME
- HEAD /test/Water%20lilies.jpg HTTP/1.1
- Host: localhost
- HTTP/1.1 200 OK
- Date: Sat, 23 Jul 2011 09:03:52 GMT
- Server: Apache/2.2.17 (Win32)
- Last-Modified: Thu, 23 Aug 2001 14:00:00 GMT
- ETag: "26000000017df3-14752-38c32e813d800"
- Accept-Ranges: bytes
- Content-Length: 83794
- Content-Disposition: attachment; filename="Water lilies.jpg"
- Content-Type: image/jpeg
- function DownloadImage(imageURL) {
- var oImage = document.getElementById(imageURL);
- var canvas = document.createElement("canvas");
- document.body.appendChild(canvas);
- if (typeof canvas.getContext == "undefined" || !canvas.getContext) {
- alert("browser does not support this action, sorry");
- return false;
- }
- try {
- var context = canvas.getContext("2d");
- var width = oImage.width;
- var height = oImage.height;
- canvas.width = width;
- canvas.height = height;
- canvas.style.width = width + "px";
- canvas.style.height = height + "px";
- context.drawImage(oImage, 0, 0, width, height);
- var rawImageData = canvas.toDataURL("image/png;base64");
- rawImageData = rawImageData.replace("image/png", "image/octet-stream")
- document.location.href = rawImageData;
- document.body.removeChild(canvas);
- }
- catch (err) {
- document.body.removeChild(canvas);
- alert("Sorry, can't download");
- }
- return true;
- }
- <image id="myimage" src="Penguins.jpg" />
- <button type="btnDownload" rel="myimage">Download</button>
- window.onload = function() {
- var arrButtons = document.getElementsByTagName("button");
- for (var i = 0; i < arrButtons.length; i++) {
- var oButton = arrButtons[i];
- var sRelatedImage = oButton.getAttribute("rel");
- if (sRelatedImage && sRelatedImage.length > 0) {
- oButton.onclick = function() {
- HandleRelatedImage(this, sRelatedImage);
- }
- }
- }
- };
- function HandleRelatedImage(oButton, sRelatedImage) {
- var oImage = document.getElementById(sRelatedImage);
- if (!oImage) {
- alert("related image '" + sRelatedImage + "' does not exist");
- return false;
- }
- return DownloadImage(sRelatedImage);
- }
- var myImage = new Image();
- myImage.src = "http://static.jquery.com/files/rocker/images/logo_jquery_215x53.gif";
Add Comment
Please, Sign In to add comment