1. 程式人生 > >將圖片轉成二進位制並生成Base64編碼,可以在網頁中通過url檢視圖片

將圖片轉成二進位制並生成Base64編碼,可以在網頁中通過url檢視圖片

    data格式的Url最直接的好處是,這些Url原本會引起一個新的網路訪問,因為那裡是一個網頁的地址,現在不會有新的網路訪問了,因為現在這裡是網頁的內容。這樣做,會減少伺服器的負載,當然同時也增加了當前網頁的大小。所以對“小”資料特別有好處。

  另外聽說這種方式可以將一些敏感的圖片放進網頁中...挺好玩的.....

    一、 在網頁中檢視圖片的方法為:

  1. <body>
  2. <span><imgwidth=100height=100src="data:image/gif;base64,(此處填圖片轉成base64編碼後的編碼)"/></span>
  3. </body>

    由於base64編碼太佔用篇幅因此僅僅用括號說明了一下。

    二、用Java將圖片編碼的程式碼,與將base64的編碼轉成圖片的Java程式碼:

  1. package base64;  
  2. import java.awt.image.BufferedImage;    
  3. import java.io.ByteArrayInputStream;    
  4. import java.io.ByteArrayOutputStream;    
  5. import java.io.File;    
  6. import java.io.IOException;    
  7. import
     javax.imageio.ImageIO;    
  8. import sun.misc.BASE64Decoder;    
  9. import sun.misc.BASE64Encoder;    
  10. publicclass TestImageBinary {    
  11.     static BASE64Encoder encoder = new sun.misc.BASE64Encoder();    
  12.     static BASE64Decoder decoder = new sun.misc.BASE64Decoder();    
  13.     publicstaticvoid main(String[] args) {    
  14.             System.out.println(getImageBinary());  //將圖片轉成base64編碼   
  15.         base64StringToImage(getImageBinary()); //將base64的編碼轉成圖片 
  16.     }    
  17.     static String getImageBinary(){    
  18.         File f = new File("d://1.jpg");           
  19.         BufferedImage bi;    
  20.         try {    
  21.             bi = ImageIO.read(f);    
  22.             ByteArrayOutputStream baos = new ByteArrayOutputStream();    
  23.             ImageIO.write(bi, "jpg", baos);    
  24.             byte[] bytes = baos.toByteArray();    
  25.             return encoder.encodeBuffer(bytes).trim();    
  26.         } catch (IOException e) {    
  27.             e.printStackTrace();    
  28.         }    
  29.         returnnull;    
  30.     }    
  31.     staticvoid base64StringToImage(String base64String){    
  32.         try {    
  33.             byte[] bytes1 = decoder.decodeBuffer(base64String);                  
  34.             ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);    
  35.             BufferedImage bi1 =ImageIO.read(bais);    
  36.             File w2 = new File("d://2.png");//可以是jpg,png,gif格式    
  37.             ImageIO.write(bi1, "jpg", w2);//不管輸出什麼格式圖片,此處不需改動  
  38.         } catch (IOException e) {    
  39.             e.printStackTrace();    
  40.         }    
  41.     }    
  42. }    

   此Java程式碼sun.misc.BASE64Decoder這個包匯入不進去的話,請將eclipse的Java執行環境修改成不是eclipse自帶的jdk,我本來匯入不進去,換成本地1.7的jdk就OK了。

 一下提供一個編碼後圖片的url:

  1. <span><imgwidth=10height=10src="data:image/gif;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a  
  2. HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy  
  3. MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABgAGQDASIA  
  4. AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA  
  5. AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3  
  6. ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm  
  7. p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4 Tl5ufo6erx8vP09fb3 Pn6/8QAHwEA  
  8. AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx  
  9. BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK  
  10. U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3  
  11. uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3 Pn6/9oADAMBAAIRAxEAPwD3 iii  
  12. gAoorL1XWbTR4vMuTKzHG2OGMu7EkKAAPUkAZ7mgCXUdTtNLtvOupAoJ2ogG55GPRVUcsT6CsxJ/  
  13. EeqBmijt9HtzzGZ08 cj/aQEKn5tWNcQw6lczPdrbieE7r2/lAdbP 7BC3Z eSPx5IAb9mv4Qbm1  
  14. 13VW2jMS3NnKUc8EA 3GOR3 hoA6FdM1vB3 ICT222cY/PrUJbxPYxiV307UEBy6KjwOFz1BywJx  
  15. 2wOaPD vfboEhvmMd6ZHRUaJkLAcjqAN23BIFdFigDM0jWrPWrd5bZiGjfZLE A8bejCtOud1uB9  
  16. LlTXrRGY2yBLqFAAHt8ksQAMllyWAz6jvW5BNFcwRzwyLJFIodHU5DA8gigCaiiigAooooAKKK5n  
  17. xFqGrwXUFppUYeSSCSXaoBdtpUYGSAOGJBJwSAOM0AdISFBJIAHUmvOWubrV7iTxBJK1vp9zKtna  
  18. rGpad1DMo8rkAMxJO45wM4xjJsXelSXGi6VaPqd/NfahcpGZ5ZXjk8kHfICgO0HapU8Yy30rql0O  
  19. 1S9spgCI7GMpbQDhEJGC2O7YyAewJ9aAMnZDpdg2oarGmm6NpkZlhtdwbbt/5aORkM3ooJ5OeSRj  
  20. G8L/APCUeMLZ9cv9Xu9I0y5ctp9haxRiQRdFeR2ViSRzj8av63b6RptpNqXi6C2vIpiRLJKnmRxD  
  21. IEcUcZyWJ9hknJOOBUFrqF3qKxnTfBeqLbOMh9SvBbIF6cJuZhx0G0fhQB0troFtbXy30kk91eJH  
  22. 5az3DAsB3xgAZPritiuTHh29uL6yuZWt7VLchisMskjDBzgM2MZ6E9xXRXV9BZCEzuEE0qwp7u3Q  
  23. UATOgkjZTnDDBwcH8xXD GNPuLzTLmE6jqaR2V1NbRolyqrKqsdvIXcvBA6g8ZrRXVL7Urqd9GvY  
  24. JrIyMrXDxERwbRtIDfxnOT6DA57Vj FdKvX1C/u7W/BjWQfvJ43kDylfnZRvUY oJJOcjoACtPfe  
  25. KvC mL56TXQZuACJPIU9S8jZLEYLbVHsDXfaZeRahpdtdwzpOk0auJUGFbjqAen0rD8US6ZYTWuo  
  26. 6hqV1bPGVWOOAk7/AJuflHUEHB9vpV3wzbPDpxcQPb20pVre3c5ZE2gAt6McZI7Z9c0AbtFFFABW  
  27. B4hS6tUTWLCSNZbRWEqSDKyQkguOowwxke4x3rfrK1f/AElrfTFPNw4aUDqIl5Y/icL/AMCoAr6c  
  28. jajqr6tJGywJH5NlvBBKthnkweRuIUDPOF963a5/WNcTTtb0nTnu44WvnYKvlGR5CMfKMfdGNxLH  
  29. OMVy rav4i8U39xoulmLQdOI bU7lw0tzEeCYE6YP94njI6E0AUNJ1O3 I/xAvbkzNHpmgExacEk  
  30. AMtwT804B4O0DAyCAGz3r0AWmqw2hji1OOWXDYluLfLZJJH3SBx0xis/S/BOjaT4ah0K2hdbeJSB  
  31. Nn99knLNvHIYnuMdsdKnOiX8UzJZ61dwW2wlQ5E7bz7yAnaB2zk568UATyWGq3dpHDcX0ETqyszw  
  32. RNlsdRy3ANQQ F7U2ltb6lcT6lHbbfKW4I2AqMA7VABPuc9TSNpPiELGyeJTuX74ayj2v0/Ed 9Q  
  33. HwvdXnGq6vcXMbNueJMoregxnAHtj8aAHanfz3FrLp3h 0EzIhjeYbRDCOm1c8M OijgdyOhv2E0  
  34. Gm6TZpdCOxB2xJHJJklieBk9WP55zUiNYaDp 2a8jhtogzKZpABGg7AnsK5iC tviDPOLCbztCiZ  
  35. FNztXDyKdx8sHkHlQWI7HHWgB0it4g8TXGny61JcWUMm82tvEgEbIeVkYjcMNjBHXB9DXcVQ07S4  
  36. dNSXy3kklmk8yWWQgs7YAycADoAOAKv0AFFFFAEUsscETyyuqRopZmY4CgckmsvREkuDNq1wCr3m  
  37. 3yUZcGKAD5FPuclj7tjtUGr7tU1W20VAfs4UXV6exjB SP8A4Ew5/wBlGHet1mCKWYgADJJ7CgDm  
  38. 9W0 C41yIELJeXcfkqwXDQWynMuG6jcSFz7j0p/jLw6PEfhG80uFUS4Me61YjhJF5X6DjH0NO8Oh  
  39. r S816UEG9YJbg/wW6ZCfTcSzH/eHpXRUAfMWk/GPxZ4dvbCw8Rxu1tBGiuPLCztHkc5JwxwuMn1  
  40. PevYNJ MXgjVrbzRrUdmw6xXimNh/Q/gTWH8UPhxputfZdXMhtkhmxclYwVRHPMhHBIDEFhnoWPB  
  41. rntY/Z0guCk2j6v9mLkF4Z0LonHO1hyRnpnt3oA69fjf4JEsgl1FlULuRlhd93HI4HBz BqaLxT4  
  42. 116J7jQvDUUWm3RRbS61CcRuqN1mMQ5ZcEEDIP1rgfB/ws0S08UeIdF8QWl1cC3EAsLto3TeWHzO  
  43. mPlIDFeuQO/evWJfC0lrpVvbaZc/ZWjILpFJJFE/IzhVbCA88DjntQB4p8SPCmuzalpenPr0 qae  
  44. LmO1y8aoEuZCzPsVeuF Ykk4zgmvc/BGijw/4QsNOUKFRCw2rt 8S3I9eeax7Hwpbz6xb2k0rz2W  
  45. kLJhWGA002CV78LHgdcneck857scCgAooooAKKKKAGhQCWAGT1NYPieaWS3h0m3JE2oP5RI/hj/i  
  46. P5f1roO1c3ow/tbXLvWm/wBTGPstqCP4Qcs34mgDfghS3gjhiGI41CKPQAYFS01mVVLMQFHUk9Kh  
  47. muobe3knllVY487mz0/ v7UAPlhSeJ4pUV43UqysMgg9Qa4yDxTZ6Jr0nhDVdRW3uPKD6fdSEfPG  
  48. 2QqMTx5i4xz94YPXNQ6j4w1q2v4hDpsZtpmdY48M8p2EKxIU5zubGFBxg5pt54NHiuO9HiizCnU4  
  49. Y8RQtuNk8W7aQ/diJCT24xyKANmeLV4Zlsol1GeAupa/ 0wKwHf5dvQfSma/4nt/Ddtb2PnPe6tc  
  50. EJBCcFzlgvmSbQNqAkZbA9BzXjOtal8Tfhe50OC7k1DTZjssLx4PNIz0Ck5KsP7pyPTiu40Xwjda  
  51. b4ahgvJZZvFetOtzd3Ez7mHlESeWW7LkKvHdqAPSNMsRp9ksJkMkhYySykYMkjHLN7ZJ6dhgVoVx  
  52. KeMbyPV4INRtIbWNziWHLGWAdnYkBSue4yK7CKeKdN8To6ZI3KQRkHBoAmoqna6jZX0MM1rcxSpN  
  53. kxlW /jg4 lXKACiiigCpqF2LOwluCAxRflX 8x4UfiSB NYNvcH7fF4ftb6KGS3hE12ykNKxYnI  
  54. UHpk7iTg4yMdci/rtnJqRsrJZbiKJ5TJLLAdrAKOBu/hySORz6U618N6PZTwT2thDDNACI5EGGwR  
  55. g5P8WffNAFXXdDtJ9DvYy0jzNA4iNxdOV34 XOWx1xXKaPYWEVvFPHbo/nLb3cKuOFdSjHaT6kuM  
  56. kZ Su6kis9ds45A7PEH3I65UqwJB6/iMEVx1jbTXGjRp5c26IPtOz5vlZlbt13IxH/XQUAEV/eWG  
  57. uWPBuJpbmWHYSI9 4Zz06lVQ hINdpBqiSSeVNBcWsnQCZPlP0YZU/nXCX6TtcRXckU261uo7ktG  
  58. nzAI ZFBx02uWHqIyO9ehTwW2o2UkEypNbzKUdTyGB4IoAo69pratp32IBdkkqeYxbBVAckj1OBg  
  59. fX2rkZvFIX4nx2P2v7LpGn2zwzb8qjSkAjLEY4GABnrmumitb7T9JNk9zLdgssEEo SZEY4yzcgl  
  60. R/FjnHIzV7TtHstMiCwQ7n6tNKd8jnuWc8k0AY r31pqCW81lHLPPDOgRvKdY2DMoKlyACDkHGeo  
  61. Fcs1pb2cctjYM0Frc3O2aJXPlniZ5FAzwCI1PGMbj24rt9enSP7Ijq5RJPtL7Rn5Y8ED6lig/GsR  
  62. dPMeg2moy2gkaKeS4kjfPzrKrIx6ZGA3/fIoAg0rwyYtbubvSZEsY7ItDbQzRCTliWcsM5CnI2kE  
  63. HBPrz0lpqlzHdJZarbrbXEgPlSRvvilIGSFJAIbqdpHTpnBrlPDMk8 qSYgvIJLyNSb1VZgTGowp  
  64. JG3GD7ZOfUgdVeaVcalb TdXKAAbk2R8pKDlJA3YjigDaoqjplzNd6dDNMnlTEFZEYdHBIbHtkHH  
  65. tRQB/9k="/></span>

轉自:http://blog.csdn.net/caoyuan10036/article/details/7045190

相關推薦

圖片二進位制生成Base64編碼可以在網頁通過url檢視圖片

    data格式的Url最直接的好處是,這些Url原本會引起一個新的網路訪問,因為那裡是一個網頁的地址,現在不會有新的網路訪問了,因為現在這裡是網頁的內容。這樣做,會減少伺服器的負載,當然同時也增加了當前網頁的大小。所以對“小”資料特別有好處。   另外聽說這種

[大型網站優化技術] -- 減少HTTP請求之圖片二進位制生成Base64編碼,可以在網頁通過url檢視圖片

1 <?php 2 $pathinfo = pathinfo($_SERVER['SCRIPT_FILENAME']); 3 define('ROOT', $pathinfo['dirname']); 4 5 function generateIcon_

PDF格式檔案二進位制生成Base64編碼Base64編碼PDF檔案

// 為工程新增 sun.misc.BASE64Encoder和sun.misc.BASE64Decoder包: //右鍵專案》屬性》Java Build Path》jre System Library 》access rules》resolution選擇accessi

指定圖片二進位制陣列以及二進位制陣列儲存到資料庫的方法

      在winform中點選選擇顯示圖片功能,我這邊是用的pictureBox控制元件,現在pictureBox控制元件中的雙擊事件中用以下方法,這邊是使用OpenFileDialog類開啟選擇

java使用SWFToolsPDFswf使用flexpaper播放PDF

前導:1、 將PDF轉換為swf檔案java程式碼如下windows執行轉換命令方式:  第一種:windowsD:\\Program Files (x86)\\SWFTools\\pdf2swf.ex

base64格式圖片轉換二進位制生成圖片檔案

/**  * 將base64格式的字串轉換成二進位制流,並轉換成圖片  */ public  boolean changeBase64ToImage(String base64String){     //base64格式字串為空,返回fal

php 圖片base64

function gif php pos 內置 獲取 str 路徑 files PHP對Base64的支持非常好,有內置的base64_encode與base64_decode負責圖片的Base64編碼與解碼。 編碼上,只要將圖片流讀取到,而後使用base6

生成二維碼返回檔案位元組碼檔案base64返回

    @PostMapping("/admin/get/qrcode")     public  ResponseEntity<byte[]>  getQrcode(Long id,boolean need

canvas圖片base64格式 以及 驗證圖片是否透明

alpha spa bsp draw targe canvas 地址 hab mage logoImgUpload:function(file) { let self = this; self.formatUpload(file);

Python視訊ASCII符號形式、生成GIF圖片

  一、簡要說明 簡述:本文主要展示將視訊轉成ASCII符號形式展示出來,帶音訊。 執行環境:Win10/Python3.5。 主要模組: PIL、numpy、shutil。 [PIL]: 影象處理 [numpy]: 矩陣形式讀取圖片資料

UnityRenderTexture一張圖片剪裁儲存到本地

//將RenderTexture儲存成一張png圖片 public bool SaveRenderTextureToPNG(RenderTexture rt, string contents, string pngName)

圖片base64 繫結在img src屬性裡

Image img = GetImage(); //假設你得到了一張圖片img MemoryStream mstream = new MemoryStream(); img.Save(mstre

方便的數字字符串類型在前面補0

python有的時候需要將數字轉化成字符串來保存或使用。一般可以直接使用或者用str()轉一個數據類型就好了。但是有的時候對數字位數有要求,不足的位數前面用0補齊。比如1需要變成"01"或"001",處理類似工號的時候可能會有這種需求。當然實現起來並不難,不過如何可以更加簡潔方便的實現,而不是寫一大堆的判斷語

php curl簡單采集圖片生成base64編碼(附curl函數參數說明)

transfer alt ref sign ans copyto article pan exec 許多年前的代碼突然拿來一用,特做此筆記(此處的code用來定位內部錯誤位置,非http code) [php] view plain copy <?ph

listmap按照另外一個list排序

需求說明:A list假如是一串編碼, 通過in的sql語句可以查到一連串另外的資料(List<B> = select (A list); ),但查出來的資料(List<B>)是按資料庫的自然順序進行排序的,無法與原來的list(A List)對應,也就是說 無法做到

怎樣PNG格式的圖片PDF格式

都知道我們經常在網上看到的圖片雖然有的看起來是一樣,但是右擊檢視圖片的屬性都是不一樣的。在這裡小編問大家一個問題,你們知道如何將一般圖片的格式轉換=成PDF格式嗎?就拿PNG轉PDF格式來說,可能大部分人都不知道如何進行解決的。那下面不妨看看小編是如何操作的!1:在電腦桌面新建一個資料夾取名為PNG圖片,然後

瀏覽器外掛形式htmlpdfhtml圖片

javascript: (function () { var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); var scrip

javapdfbase64字串及base64字串反轉pdf

package cn.wonders.utils; import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.ByteArrayInp

迅捷ocr文字識別軟體是如何圖片文字的?

  大家好,今天和大家討論一下關於圖片轉為文字的方法?   將圖片轉為文字一般被稱為光學文字識別(Optical CharacterRecognition,OCR),所謂?OCR?是影象識別領域中的一個子領域,該領域專注於對圖片中的文字資訊進行識別並轉換成能被常規文字編輯器編輯的文字。     隨

Python pdf圖片

本篇文章記錄如何使用python將pdf檔案切分成一張一張圖片,包括環境配置、版本相容問題。 環境配置(mac) 安裝ImageMagick brew install imagem