一、限制上傳大小、圖片尺寸
站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到湘鄉(xiāng)網(wǎng)站設(shè)計(jì)與湘鄉(xiāng)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋湘鄉(xiāng)地區(qū)。
$('#select').uploadify({ 'swf': '/plugin/uploadify/uploadify.swf', 'uploader': '/work/p_w_picpathUploadServlet.up', 'formData': { 'operateType': 'activity.product' }, 'method': 'get', 'cancelImg': '/plugin/uploadify/cancel.png', 'auto': true, 'multi': false, 'fileTypeDesc': '請(qǐng)選擇gif jpeg jpg文件', 'fileTypeExts': '*.gif;*.jpeg;*.jpg;*.png', 'sizeLimit': 1000 * 1024, 'height': 19, 'width': 60, 'buttonImage': '/p_w_picpaths/senior.png', 'buttonText': '上傳圖片', 'onSelect': function(file) { if (file.size > 5120 * 1024) { //限制上傳文件大小為5M以?xún)?nèi) alert("上傳大小不能超過(guò) 5M 哦~"); $('#select').uploadify('cancel'); } }, 'onUploadSuccess' : function(file, data, response) { var o = new Image(); o.src = data; o.onload = function() { var w = o.width; var h = o.height; if( w >= 130 && h >= 130) { api.destroy(); $("#img").removeAttr("style"); $("#img").attr("src", data); $("#preview").attr("src", data); }else{ alert("圖片尺寸需大于130*130"); $('#select').uploadify('cancel'); } } }, 'onError' : function (event, queueID, fileObj) { alert("error!"+event); $('#uploadifyIndex').uploadify('cancel'); } });
二、裁剪最小寬高限制,裁剪選框形狀和尺寸限制。
function jcropload(){ var minwidth = 130 * t; //最小寬:130px; var minheight = 130 * t; //最小高:130px; $("#img").Jcrop({ boxWidth: width, boxHight: height, bgColor: 'black', bgOpacity: 0.5, addClass: 'jcrop-light', onChange: showCoords, onSelect: showCoords, onRelease: clearCoords, boundary: 5, aspectRatio: 1, //裁剪比例:1為正方形、3/5為長(zhǎng)方形等等 minSize: [minwidth, minheight] // 控制裁剪選框的最小裁剪尺寸 }, function() { var bounds = this.getBounds(); boundx = bounds[0]; boundy = bounds[1]; api = this; // 調(diào)整裁剪選框的顯示尺寸 api.setSelect([width / 2 - 60, height / 2 - 60, width / 2 + 60, height / 2 + 60]); api.setOptions({ bgFade: true }); api.ui.selection.addClass('jcrop-selection'); }); } //裁剪效果圖顯示 function showCoords(c) { if (parseInt(c.w) > 0) { var rx = 100 / c.w; //根據(jù)裁剪選框?qū)捀弑壤诖苏{(diào)整效果圖顯示比例。下同 var ry = 100 / c.h; $("#preview").css({ width: Math.round(rx * boundx) + "px", height: Math.round(ry * boundy) + "px", marginLeft: "-" + Math.round(rx * c.x) + "px", marginTop: "-" + Math.round(ry * c.y) + "px" }); }; $('#x1').val(Math.round(c.x)); $('#y1').val(Math.round(c.y)); $('#x2').val(Math.round(c.x2)); $('#y2').val(Math.round(c.y2)); $('#w').val(Math.round(c.w)); $('#h').val(Math.round(c.h)); };
三、上傳按鈕樣式(swfupload)重寫(xiě),讓點(diǎn)擊事件觸發(fā)區(qū)域與上傳按鈕重合。
四、裁剪上傳完成后頁(yè)面清除原圖,顯示默認(rèn)底圖,且默認(rèn)底圖不可裁剪。
//圖片裁剪上傳 function jcrop() { var img = $("#img").attr("src"); if(img!="/p_w_picpaths/no_logo_pic.jpg"&&img!=""){ $.ajax({ type: "post", url: "/work/jcrop.up", dataType: "text", data: { "x": Math.ceil($('#x1').val()/t), "y": Math.ceil($('#y1').val()/t), "w": Math.ceil($('#w').val() / t), "h": Math.ceil($('#h').val() / t), "srcPath": $("#img").attr("src"), "tarPath": "activity.product" }, success: function(data, textStatus) { $("#yt_img").attr("src",data); $("#activityImg").val(data); $("#p_w_picpaths").append(""); api.destroy(); $(".prodact_sc").hide(); $(".back_a").hide(); //圖片裁剪并上傳完畢之后清除 $("#img").attr("src", ""); $("#preview").attr("src", ""); } }); }else{ alert("請(qǐng)上傳Logo"); } }