اسمحوا لي أن أريكم العروض أولا:
رمز الصفحة
تم كتابة Uuid للمستخدم في اختبار ميت
<٪@ page language = "java" contentType = "text/html ؛ charset = utf-8" pageencoding = "UTF-8" ٪> <! ] src = "الموارد/jcrop/js/jquery.jcrop.js"> </script> <script src = "الموارد/js/ajaxfileupload.js"> </script> <body> <body> <div> div> id = "target"/> <div id = "Preview-Pane"> <viv> <img src = "resources/img/test.jpg"/> </viv> <div style = 'float: left ؛ display: inline ؛'> <a class = 'btn_addpic' href = javascript: 0) ؛ id = "upload_image" type = "file" name = "upload" قبول = "image/*" class = "fileprew"/> </a> </div> <div style = 'float: right ؛ display: inline ؛'> <a class = 'btn_addpic' href = "javascript: void (0) ؛ OnClick = 'Submit ()'> <span> إرسال </span> </a> </viv> </viv> </viv> </viv> </viv> </viv> </body> <script type = "text/javaScript"> var global_api = "" var boundx = "؛ هذا النطاق) للحفاظ على واجهة برمجة التطبيقات وحجم الصورة // إنشاء متغيرات (في هذا النطاق) واجهة برمجة التطبيقات وحجم الصورة var jcrop_api ، img ') ، xSize = $ pcnt.width () ، ysize = $ pcnt.height () ؛ $ ('#target '). this.getBounds () ؛ boundx = حدود [0] ؛ poundy = حدود [1] $ FEREFIEN.Appendto (jcrop_api.ui.holder) ؛}) ؛ وظيفة updatePreview (c) {if (parseint (cw)> 0) global_api = c ؛ {var rx = xsize / cw Math.Round (ry * boundy) + 'px' ، marginleft: '-' + math.round (rx * cx) + 'px' ، margintop: '-' + math.round (ry * cy) + 'px'}) ؛ {// احصل على كائن HTML5 JS للملف وفقًا لـ <pected> var = event.target.files ، file ؛ إنشاء urlvar urlvar imgurl = url.createObjecturl (ملف) ؛ // استخدم عنوان URL هذا لإنشاء <img> لعرضه $ ('. imgurl) ؛}}) ؛ // ================================================= $ ("#upload_image"). Change () ================================================================ ================================================================ ================================================================ ================================================================ ================================================================ ================================================================ "") {ajaxfileupload () ؛} آخر {Alert ('هل لم تفعل شيئًا؟') ؛} // وظيفة تحميل ملف Ajax ajaxfileupload () {$ .ajaxFileUpload ({url: 'uploadphoto' ، // the server-sudge eduter for filed: abseld: "upload_image" ، // type type attribute: 'json' ، // يتم تعيين نوع قيمة الإرجاع بشكل عام على jsondata: {x: global_api.x ، y: global_api.y ، w: global_api.w ، h: global_api يستجيب الخادم بنجاح لوظيفة المعالجة if (data.result) {Alert ('success') ؛} else {alert ('fans') ؛} window.location.reload () ؛ // refled page}}) ؛} <//script> </html>رمز الخلفية
@responsebody@requestmapping ("eploadphoto") الخريطة العامة <string ، object> uploadphoto (requestparam ("upImage") multipartfile imagefile ، httpservletrequest request ، httpservletponse response) revision {map <string> sterves = new hasmap ، object> () ؛ request.getParameter ("unid") ؛ string x = request.getParameter ("x") ؛ string y = request.getParameter ("y") ؛ String H = request.getParameter ("H") ؛ String w = request.getParameter ( request.getParameter ("pw") ؛ // معلمة CUT الرسم البياني int imagex = integer.parseint (x) ؛ int imagey = integer.parseint (y) ؛ int imageh = integer.parseint (h) ؛ int imagew = integer.parseint (w) realPath = request.getSession (). getServletContext (). ImageCut.ImgCut (imagefile.getInputStream () ، imagex ، imagey ، imagew ، imageh ، srcw ، srch) ؛ if (b! = null) {// حفظ إلى مستخدم قاعدة البيانات = userService.SelectByPrimarykey (unid) ؛ user.setphoto (b) ؛ (userservice.updateByPrimaryKeySelective (user) == 1)؟ tag = true: tag ؛ result.أدوات قطع الصور
package com.ssm.demo.utils ؛ استيراد java.awt.graphics ؛ استيراد java.awt.image ؛ صورة java.awt.toolkit ؛ استيراد java.awt.image.bufferedimage ؛ image java.awt.image.imagefilter ؛ استيراد java.io.bytearrayoutputstream ؛ استيراد java.io.inputStream ؛ استيراد javax.imageio.imageio ؛ public class imagecut {/*** intercept** param srcimagefile* @param x* x eversity deswidth* العرض المعترض* param desheight* الارتفاع المعترض* param srcwidth* عرض صورة الصفحة* param srcheight* ارتفاع صورة الصفحة**/بايت ثابتة عامة [] imgcut (inputStream input ، int x ، int deswidth ، int desheight ، cropfilter ؛ bufferedImage bi = imageio.read (input) ؛ if (srcwidth> = deswidth && srcheight> = desheight) {image image = bi.getScaledInstance toolkit.getDefaultToolkit (). createImage (new filledImagesource (image.getsource () ، cropfilter)) ؛ tag bufferedimage = new bufferedimage (deswidth ، desheight ، bufferedimage.type_int_rgb) NULL) ؛ G.DISPOSE () ؛ // ملف الإخراج bytearrayoutputStream Out = جديد bytearrayoutputstream () ؛ imageio.write (tag ، "jpeg" ، out) ؛ return Out.TobyTearRay () ؛}} catch (استثناء e) {eprintstacktrace () ؛}ما ورد أعلاه هو رمز المثال لتحميل JCROP+AJAXUPLOAD قطع وتحميل المحرر الذي قدمه لك. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!