php
  • javascript
  • png
  • base64
  • 2012-11-07 50 views 0 likes 
    0

    PNG我編輯PNG圖像放在一些文本和顯示是下載base_64字符串作爲瀏覽器

    <?php  
    ob_start(); 
    imagepng($img, NULL); 
    $rawImageBytes = ob_get_clean(); 
    imagedestroy($img); 
    echo "<img id='ca_image' src='data:image/png;base64," . base64_encode($rawImageBytes)  . "' />"; 
    
    ?> 
    <a href="#" onclick="return download();">Download</a> 
    <script> 
    function download(){ 
    var img =document.getElementById("ca_image").src; 
    var url = img.replace(/^data:image\/[^;]/, 'data:application/octet-stream'); 
    location.href = url; 
    </script> 
    

    爲我改變文件的內容類型,瀏覽器會自動彈出窗口,下載,但下載的文件類型是PART。我想下載base_64作爲PNG文件。 這是可能的這種方法? 這是正確的方法來保存文件爲PNG? 如果沒有請建議正確的方法來解決我的問題。

    +0

    爲什麼不簡單地返回沒有base64編碼的圖像?您可以設置一個PHP文件,將圖像作爲圖像源返回。 – rekire

    +0

    我解決它爲」/>和在php --------- $ base64strImg = $ _REQUEST [ '字串']; header('Content-Disposition:attachment; filename =「test.png」'); ----它能否產生一些問題?因爲沒有檢查字符串。 header('Content-Type:application/force-download'); echo base64_decode($ base64strImg); – Hemc

    +0

    請將此作爲回答並接受。 – rekire

    回答

    6

    我解決它作爲

    <input name="string" type="hidden" value="<?php echo base64_encode($rawImageBytes) ?>"/> 
    

    ,並在PHP

    $base64strImg=$_REQUEST['string']; 
    header('Content-Disposition: attachment;filename="test.png"'); 
    header('Content-Type: application/force-download'); 
    echo base64_decode($base64strImg); 
    

    它可以創造一些問題?因爲沒有檢查字符串。

    +0

    圖像字符串正在通過窗體發送爲隱藏值,第二個片段用於下載圖像。 – Hemc

    +2

    所以你實現了我的建議,然後接受作爲你自己的答案......(y) – GolezTrol

    相關問題