剛接觸到一個內聯圖片的概念,內聯圖片即使把圖片檔案編碼成base64 看下面代碼即是內聯問題
可以減少http的請求,缺點是不能跨域緩存!
然後在線如何把圖片轉換成base64
如果只依靠單純的javascript是有權限問題的js不允許操作本地的file檔案或資料夾為了安全問題
現在html5來了百度了下有不少資料中文的也不少給下w3c的文檔http://www.w3. org/TR/FileAPI/
現在我們用html5的file api裡的readAsDataURL函數這是一個把檔案轉換成base64編碼的
簡單的html5 File測試for pic2base64
<script> <br />window.onload = function(){ <br />var input = document.getElementById("demo_input"); <br />var result= document.getElementById("result "); <br />var img_area = document.getElementById("img_area"); <br />if ( typeof(FileReader) === 'undefined' ){ <br />result.innerHTML = "抱歉,你的瀏覽器不抱歉,你的瀏覽器不抱歉支援FileReader,請使用現代瀏覽器操作! "; <br />input.setAttribute( 'disabled','disabled' ); <br />} else { <br />input.addEventListener( 'change',readFile,false );} <br />} <br />function readFile (){ <br />var file = this.files[0]; <br />//這裡我們判斷下類型如果不是圖片就返回去掉就可以上傳任意檔案<br />if(!/image/w /.test (file.type)){ <br />alert("請確保檔案為映像型別"); <br />return false; <br />} <br />var reader = new FileReader(); <br />reader.readAsDataURL( file); <br />reader.onload = function(e){ <br />result.innerHTML = '<img src="' this.result '" alt=""/>'; <br />img_area.innerHTML = ' <div class="sitetip">圖片img標籤展示:</script>
';
}
}