首页

Asp.Net无刷新上传并裁剪头像(用Jquery插件 Uploadify实现) 附完整源码

c#

2020-8-30

用jquery插件 Uploadify实现无刷新上传头像,并可裁剪图片大小, 官方网站详见:http://www.uploadify.com/

 

常用方法有:

名称 介绍 类型
Uploadify常用属性
uploader uploadify的swf文件的路径 string
cancelImg 取消按钮图片路径 string
folder 上传文件夹路径 string
multi 是否多文件上传 boolean
script 上传文件处理代码的文件路径 json
scriptData 提交到script对应路径文件的参数 类型
method 提交scriptData的方式(get/post) string
fileExt 支持上传文件类型(格式:*.jpg;*.png) string
fileDesc 提示于点击上传弹出选择文件框文件类型(自定义) string
sizeLimit 上传大小限制(byte为单位) integer
auto 是否选择文件后自动上传 boolean
Uploadify常用事件
onAllComplete 上传完成后响应 function
onCancel 取消时响应 function
Uploadify常用方法
.uploadify() 初始化uploadify上传  
.uploadifyUpload() 触发上传  
.uploadifySettings() 更新uploadify的属性  

 

 

<%@ WebHandler Language="C#" Class="CutAvatarHandler" %>

using System;
using System.Web;
using System.Web.SessionState;

public class CutAvatarHandler : IHttpHandler, IRequiresSessionState
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        context.Response.Charset = "utf-8";

        System.Drawing.Bitmap bitmap = null;   //按截图区域生成Bitmap
        System.Drawing.Image thumbImg = null;      //被截图 
        System.Drawing.Graphics gps = null;    //存绘图对象   
        System.Drawing.Image finalImg = null;  //最终图片


        try
        {
            string pointX = context.Request.Params["pointX"];   //X坐标
            string pointY = context.Request.Params["pointY"];   //Y坐标
            string imgUrl = context.Request.Params["imgUrl"];   //被截图图片地址
            string rlSize = context.Request.Params["maxVal"];        //截图矩形的大小

            int finalWidth = 100;
            int finalHeight = 100;

            if (!string.IsNullOrEmpty(pointX) && !string.IsNullOrEmpty(pointY) && !string.IsNullOrEmpty(imgUrl))
            {

                string ext = System.IO.Path.GetExtension(imgUrl).ToLower();   //上传文件的后缀(小写)

                bitmap = new System.Drawing.Bitmap(Convert.ToInt32(rlSize), Convert.ToInt32(rlSize));

                thumbImg = System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath(imgUrl));

                System.Drawing.Rectangle rl = new System.Drawing.Rectangle(Convert.ToInt32(pointX), Convert.ToInt32(pointY), Convert.ToInt32(rlSize), Convert.ToInt32(rlSize));   //得到截图矩形

                gps = System.Drawing.Graphics.FromImage(bitmap);      //读到绘图对象

                gps.DrawImage(thumbImg, 0, 0, rl, System.Drawing.GraphicsUnit.Pixel);

                finalImg = PubClass.GetThumbNailImage(bitmap, finalWidth, finalHeight);

                string finalPath = "/User/final"   DateTime.Now.ToFileTime()   ext;

                finalImg.Save(HttpContext.Current.Server.MapPath(finalPath));

                bitmap.Dispose();
                thumbImg.Dispose();
                gps.Dispose();
                finalImg.Dispose();
                GC.Collect();

                PubClass.FileDel(HttpContext.Current.Server.MapPath(imgUrl));

                context.Response.Write(finalPath);
            }
        }
        catch (Exception)
        {
            throw;
        }
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}
资源下载此资源下载价格为2D币(VIP免费),请先
资源文件列表
CutAvatar/!css/Main.css , 1474
CutAvatar/!css/uploadify.css , 892
CutAvatar/!images/blank_pic.jpg , 378
CutAvatar/!images/ef_pic.jpg , 4235
CutAvatar/!js/cutpic.js , 19767
CutAvatar/!js/jquery-1.4.1.min.js , 71922
CutAvatar/!js/uploadify-v2.1.4/cancel.png , 2960
CutAvatar/!js/uploadify-v2.1.4/check.php , 1405
CutAvatar/!js/uploadify-v2.1.4/com/adobe/air/logging/FileTarget.as , 3105
CutAvatar/!js/uploadify-v2.1.4/com/adobe/air/logging/vssver2.scc , 144
CutAvatar/!js/uploadify-v2.1.4/com/adobe/crypto/HMAC.as , 4215
CutAvatar/!js/uploadify-v2.1.4/com/adobe/crypto/MD5.as , 10621
CutAvatar/!js/uploadify-v2.1.4/com/adobe/crypto/MD5Stream.as , 17039
CutAvatar/!js/uploadify-v2.1.4/com/adobe/crypto/SHA1.as , 8332
CutAvatar/!js/uploadify-v2.1.4/com/adobe/crypto/SHA224.as , 9134
CutAvatar/!js/uploadify-v2.1.4/com/adobe/crypto/SHA256.as , 9274
CutAvatar/!js/uploadify-v2.1.4/com/adobe/crypto/vssver2.scc , 298
CutAvatar/!js/uploadify-v2.1.4/com/adobe/crypto/WSSEUsernameToken.as , 4037
CutAvatar/!js/uploadify-v2.1.4/com/adobe/errors/IllegalStateError.as , 2323
CutAvatar/!js/uploadify-v2.1.4/com/adobe/errors/vssver2.scc , 146
CutAvatar/!js/uploadify-v2.1.4/com/adobe/fileformats/vcard/Address.as , 1939
CutAvatar/!js/uploadify-v2.1.4/com/adobe/fileformats/vcard/Email.as , 1731
CutAvatar/!js/uploadify-v2.1.4/com/adobe/fileformats/vcard/Phone.as , 1730
CutAvatar/!js/uploadify-v2.1.4/com/adobe/fileformats/vcard/VCard.as , 2057
CutAvatar/!js/uploadify-v2.1.4/com/adobe/fileformats/vcard/VCardParser.as , 7587
CutAvatar/!js/uploadify-v2.1.4/com/adobe/fileformats/vcard/vssver2.scc , 253
CutAvatar/!js/uploadify-v2.1.4/com/adobe/images/BitString.as , 1721
CutAvatar/!js/uploadify-v2.1.4/com/adobe/images/JPGEncoder.as , 19125
CutAvatar/!js/uploadify-v2.1.4/com/adobe/images/PNGEncoder.as , 5180
CutAvatar/!js/uploadify-v2.1.4/com/adobe/images/vssver2.scc , 198
CutAvatar/!js/uploadify-v2.1.4/com/adobe/net/DynamicURLLoader.as , 2199
CutAvatar/!js/uploadify-v2.1.4/com/adobe/net/IURIResolver.as , 2976
CutAvatar/!js/uploadify-v2.1.4/com/adobe/net/MimeTypeMap.as , 6772
CutAvatar/!js/uploadify-v2.1.4/com/adobe/net/proxies/RFC2817Socket.as , 7254
CutAvatar/!js/uploadify-v2.1.4/com/adobe/net/proxies/vssver2.scc , 147
CutAvatar/!js/uploadify-v2.1.4/com/adobe/net/URI.as , 76126
CutAvatar/!js/uploadify-v2.1.4/com/adobe/net/URIEncodingBitmap.as , 4372
CutAvatar/!js/uploadify-v2.1.4/com/adobe/net/vssver2.scc , 265
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/Database.as , 616
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/Definition.as , 696
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/Dict.as , 10093
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/DictionaryServer.as , 509
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/events/ConnectedEvent.as , 245
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/events/DatabaseEvent.as , 464
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/events/DefinitionEvent.as , 537
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/events/DefinitionHeaderEvent.as , 527
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/events/DictionaryServerEvent.as , 464
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/events/DisconnectedEvent.as , 254
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/events/ErrorEvent.as , 616
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/events/MatchEvent.as , 440
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/events/MatchStrategiesEvent.as , 492
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/events/NoMatchEvent.as , 239
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/events/vssver2.scc , 477
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/MatchStrategy.as , 626
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/Response.as , 652
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/util/CompleteResponseEvent.as , 446
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/util/SocketHelper.as , 1417
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/util/vssver2.scc , 195
CutAvatar/!js/uploadify-v2.1.4/com/adobe/protocols/dict/vssver2.scc , 296
CutAvatar/!js/uploadify-v2.1.4/com/adobe/serialization/json/JSON.as , 2844
CutAvatar/!js/uploadify-v2.1.4/com/adobe/serialization/json/JSONDecoder.as , 6784
CutAvatar/!js/uploadify-v2.1.4/com/adobe/serialization/json/JSONEncoder.as , 9173
CutAvatar/!js/uploadify-v2.1.4/com/adobe/serialization/json/JSONParseError.as , 2883
CutAvatar/!js/uploadify-v2.1.4/com/adobe/serialization/json/JSONToken.as , 3197
CutAvatar/!js/uploadify-v2.1.4/com/adobe/serialization/json/JSONTokenizer.as , 15517
CutAvatar/!js/uploadify-v2.1.4/com/adobe/serialization/json/JSONTokenType.as , 2340
CutAvatar/!js/uploadify-v2.1.4/com/adobe/serialization/json/vssver2.scc , 336
CutAvatar/!js/uploadify-v2.1.4/com/adobe/utils/ArrayUtil.as , 5406
CutAvatar/!js/uploadify-v2.1.4/com/adobe/utils/DateUtil.as , 18320
CutAvatar/!js/uploadify-v2.1.4/com/adobe/utils/DictionaryUtil.as , 2719
CutAvatar/!js/uploadify-v2.1.4/com/adobe/utils/IntUtil.as , 3409
CutAvatar/!js/uploadify-v2.1.4/com/adobe/utils/NumberFormatter.as , 2429
CutAvatar/!js/uploadify-v2.1.4/com/adobe/utils/StringUtil.as , 7650
CutAvatar/!js/uploadify-v2.1.4/com/adobe/utils/vssver2.scc , 318
CutAvatar/!js/uploadify-v2.1.4/com/adobe/utils/XMLUtil.as , 4849
CutAvatar/!js/uploadify-v2.1.4/com/adobe/webapis/events/ServiceEvent.as , 2445
CutAvatar/!js/uploadify-v2.1.4/com/adobe/webapis/events/vssver2.scc , 149
CutAvatar/!js/uploadify-v2.1.4/com/adobe/webapis/ServiceBase.as , 1841
CutAvatar/!js/uploadify-v2.1.4/com/adobe/webapis/URLLoaderBase.as , 3614
CutAvatar/!js/uploadify-v2.1.4/com/adobe/webapis/vssver2.scc , 174
CutAvatar/!js/uploadify-v2.1.4/expressInstall.swf , 727
CutAvatar/!js/uploadify-v2.1.4/jquery.uploadify.v2.1.4.js , 14883
CutAvatar/!js/uploadify-v2.1.4/jquery.uploadify.v2.1.4.min.js , 8193
CutAvatar/!js/uploadify-v2.1.4/swfobject.js , 10223
CutAvatar/!js/uploadify-v2.1.4/uploadify.allglyphs.swf , 36521
CutAvatar/!js/uploadify-v2.1.4/uploadify.css , 1717
CutAvatar/!js/uploadify-v2.1.4/uploadify.fla , 94208
CutAvatar/!js/uploadify-v2.1.4/uploadify.php , 1983
CutAvatar/!js/uploadify-v2.1.4/uploadify.swf , 22894
CutAvatar/!js/uploadify-v2.1.4/vssver2.scc , 459
CutAvatar/App_Code/PubClass.cs , 3979
CutAvatar/CutAvatar.sln , 1533
CutAvatar/CutAvatar.suo , 9728
CutAvatar/Default.aspx , 6070
CutAvatar/Default.aspx.cs , 488
CutAvatar/Handler/CutAvatarHandler.ashx , 2697
CutAvatar/Handler/UploadAvatarHandler.ashx , 3789
CutAvatar/Temp/ThumbNail129663301059848083.jpg , 169328
CutAvatar/Temp/ThumbNail129663306855781630.jpg , 139877
CutAvatar/Temp/ThumbNail129663309778560306.jpg , 172801
CutAvatar/Temp/ThumbNail129663319992462119.jpg , 172801
CutAvatar/Temp/ThumbNail129663320441210889.jpg , 172801
CutAvatar/Temp/ThumbNail129663406765781147.jpg , 139877
CutAvatar/Temp/ThumbNail129669430149632408.jpg , 87107
CutAvatar/Temp/ThumbNail129669431189500558.jpg , 87107
CutAvatar/Temp/ThumbNail129669431780896162.jpg , 172801
CutAvatar/Temp/ThumbNail129669462049187904.jpg , 172801
CutAvatar/Temp/ThumbNail129669465970439370.jpg , 172801
CutAvatar/Temp/ThumbNail129669557259704827.jpg , 169328
CutAvatar/Temp/ThumbNail129669557464315437.jpg , 169328
CutAvatar/Temp/ThumbNail129669557832973510.jpg , 169328
CutAvatar/Temp/ThumbNail129669558131879245.jpg , 169328
CutAvatar/Temp/ThumbNail129670335943943878.jpg , 172801
CutAvatar/Temp/ThumbNail129670336172825323.jpg , 169328
CutAvatar/Temp/ThumbNail129670336532161123.jpg , 172801
CutAvatar/Temp/ThumbNail129670337436546596.jpg , 172801
CutAvatar/Temp/ThumbNail129670338033961534.jpg , 172801
CutAvatar/Temp/ThumbNail129670338323556397.jpg , 172801
CutAvatar/Temp/ThumbNail129670338991133909.jpg , 172801
CutAvatar/Temp/ThumbNail129670358481465886.jpg , 172801
CutAvatar/Temp/ThumbNail129670358728598225.jpg , 169328
CutAvatar/Temp/ThumbNail129670364045172522.jpg , 172801
CutAvatar/Temp/ThumbNail129670364606472535.jpg , 172801
CutAvatar/Temp/ThumbNail129670364765410978.jpg , 169328
CutAvatar/User/final129669432286110367.jpg , 30144
CutAvatar/User/final129669464455127983.jpg , 30144
CutAvatar/User/final129669481643992730.jpg , 29179
CutAvatar/User/final129670365300419548.jpg , 28368
CutAvatar/web.config , 1825
没有账号? 忘记密码?

社交账号快速登录