相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
- PHP中opcode緩存簡(jiǎn)單用法分析
- thinkPHP控制器變量在模板中的顯示方法示例
- PHP move_uploaded_file() 函數(shù)(將上傳的文件移動(dòng)到新位置)
- dirname(__FILE__)的含義和應(yīng)用說(shuō)明
- thinkPHP5框架實(shí)現(xiàn)分頁(yè)查詢功能的方法示例
- PHP中單雙號(hào)與變量
- PHP獲得當(dāng)日零點(diǎn)時(shí)間戳的方法分析
- Laravel ORM對(duì)Model::find方法進(jìn)行緩存示例詳解
- PHP讀寫(xiě)文件高并發(fā)處理操作實(shí)例詳解
- 【CLI】利用Curl下載文件實(shí)時(shí)進(jìn)度條顯示的實(shí)現(xiàn)
HTML5+Canvas實(shí)現(xiàn)本地壓縮上傳圖片功能
很多網(wǎng)站客戶在上傳產(chǎn)品的時(shí)候,對(duì)圖片大小沒(méi)概念,一張圖片4-5兆也直接往上傳,所以現(xiàn)在想讓圖片在本地壓縮后再上傳到網(wǎng)站上去。網(wǎng)上找的相關(guān)程序,程序源碼如下:
<script type="javascript/text">
$(':file').on('change',function(){ var file = this.files[0]; var url = webkitURL.createObjectURL(file); /* 生成圖片 * ---------------------- */ var $img = new Image(); $img.onload = function() { //生成比例 var width = $img.width, height = $img.height, scale = width / height; width = parseInt(800); height = parseInt(width / scale); //生成canvas var $canvas = $('#canvas'); var ctx = $canvas[0].getContext('2d'); $canvas.attr({width : width, height : height}); ctx.drawImage($img, 0, 0, width, height); var base64 = $canvas[0].toDataURL('image/jpeg',0.5); //發(fā)送到服務(wù)端 $.post('upload.php',{formFile : base64.substr(22) },function(data){ $('#php').html(data); }); } $img.src = url; });
</script>
檢查文件上傳表單域,如果選擇了文件則自動(dòng)進(jìn)行壓縮, upload.php 實(shí)現(xiàn)上傳。
可用其他辦法
javascript編譯jpg插件:javascript_jpeg_encoder