2014-06-27 39 views
0

在Rails環境中,我想在上傳後處理圖像。我不需要更改圖像,但我想根據URL中的參數將其呈現給用戶。Rails:上傳後調用圖像

有什麼建議嗎?

+0

你可以添加不同的方法,使你」 d想呈現圖像? –

+0

我想根據url中的參數向圖片添加一些文字。具體來說,有一個禮券,我想印有一個值和一個驗證碼。 我有一個解決方案,但它每次都保存圖像文件。這是你所期望的,因爲我從視圖中調用了一個輔助方法(在image_tag的路徑參數中),它執行一些圖像處理,保存文件並將路徑返回到保存的文件。 –

回答

0

上傳完成後,您需要顯示的圖像,你可以使用JavaScript和jQuery秀成像後這意味着,我已在示例項目做到了這一點像下面這樣

function showThumbnail(files){ 
      for(var i=0;i< files.length;i++){ 
       var file = files[i]; 
       var imageType = /image.*/ 
       if(!file.type.match(imageType)){ 
        alert("Not an image"); 
       } 
       var image = document.createElement("img"); 
       var thumbnail = document.getElementById("thumbnail"); 
       image.file = file; 
       if(file.type.match(imageType)) { 
        if((thumbnail.hasChildNodes() == true)){ 
         thumbnail.removeChild(thumbnail.firstChild); 
         thumbnail.appendChild(image); 
        }else 
        { 
         thumbnail.appendChild(image); 
        } 
       } 
       var reader = new FileReader() 
       reader.onload = (function(aImg){ 
        return function(e){ 
         aImg.src = e.target.result; 
        }; 
       }(image)) 
       var ret = reader.readAsDataURL(file); 
       var canvas = document.createElement("canvas"); 
       ctx = canvas.getContext("2d"); 
       image.onload= function(){ 
        ctx.drawImage(image,75,75); 
        $(".uploadedPhoto").addClass('whiteBG'); 
        $(".uploadtxt").html(file.name); 
       } 
      } 
     } 
+0

不是很Railsy。這可能是一個很好的答案,但我希望有一個服務器端解決方案。我現在意識到這可能是不可能的,而javascript解決方案是唯一可以做我想做的事情的方法。 我有一個服務器端解決方案,新文件被保存,但這不是我要求做的。如果有人告訴我它有效,我會接受這個答案。 –