用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;
}
}
}
资源文件列表
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
