2015-10-30 20 views
0

我希望能夠根據功能的參數下載具有不同高度和寬度的相同圖像。這裏是我的代碼:如何更改圖像的大小並用jquery下載它?

function Download(name, QRsrc, height, width) { 

if (name.length > 20) { 
    name = name.substring(0, 20); 
} 
var a = $("<a>") 
    .attr("href", QRsrc) 
    .height(height) 
    .width(width) 
    .attr("download", name) 

    .appendTo("body"); 

a[0].click(); 

a.remove(); 

} 

我打電話來這樣

Download('@survey.Name.Replace(" ","_")','@QRsrc','200','200') 

此功能,但它不工作。下載圖像的大小不會隨參數而改變。我怎麼解決這個問題。謝謝你的幫助。

回答

0
  1. 您需要在服務器上編寫resize圖像方法。
  2. 打電話給你的遠程方法

也許你可以試試picture tag,目前一些瀏覽器支持這個

+0

非常感謝。我嘗試了很多次在客戶端處理它,但沒有奏效。現在我在服務器上做了它,它正在工作。 –

0

客戶端解決方案:

這樣的高度和寬度屬性只是CSS規則,他們不」 t更改原始圖像大小....您可以使用基於原始圖像的新畫布。

function downloadCanvas(link, canvasId, filename) { 
    link.href = document.getElementById(canvasId).toDataURL(); 
    link.download = filename; 
} 
  • 使用該tutorial
  • Here一個簡單的方法,通過使用上述功能,以下載你的畫布創建畫布:

希望這有助於

0

圖像的大小調整可以是可能的使用畫布(客戶端),我創建了以下代碼來調整圖像的大小。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
 
<script> 
 
var resizeImage = function(src,width,height) { 
 
\t var orig_src = new Image(), 
 
\t resize_canvas = document.createElement('canvas'); 
 
\t orig_src.src = src; 
 
\t resize_canvas.width = width; 
 
\t resize_canvas.height = height; 
 
\t resize_canvas.getContext('2d').drawImage(orig_src, 0, 0, width, height); 
 
\t $(".resize-image").attr('src', resize_canvas.toDataURL("image/png")); 
 
} 
 
$(function(){ 
 
\t resizeImage('image.jpg',100,100); // Image path, width, height 
 
}); 
 
</script> 
 
<img class="resize-image" src="image.jpg" />

相關問題