dsg7513 2014-11-11 11:51
浏览 103
已采纳

将GIF代码转换为GIF图像或输出到文件? [关闭]

I'm not exactly sure how to word this so apologies if the title is misleading. I'm using UPS's web service to create a shipping label, this is returned as a GIF, but not as an image, instead as a long code:

R0lGODdheAUgA+cAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09....... (etc)

My question is how do I use this to get an actual GIF image? preferably to output to file, and using either JavaScript or PHP.

Thanks in advance!

  • 写回答

2条回答 默认 最新

  • dounie0889 2014-11-11 12:00
    关注

    The string looks like base64-encoded data. Assuming it is, in fact, an image then you can decode it like this:

    $encodedGif = 'R0lGODdheAUgA+cAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBw...';
    $decodedGif = base64_decode($encodedGif, true);
    if ($decodedGif === false) {
        die('Data has been corrupted. Unable to decode.');
    }
    

    Once you have the decoded data you can e.g. save it to a file:

    $file = 'image.gif';
    if ( ! file_put_contents($file, $decodedGif)) {
        die('Saving image did not work!');
    }
    

    Or you can output it to a browser as a GIF image:

    header('Content-Type: image/gif');
    die($decodedGif);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统