实现Asp.net mvc上传头像加剪裁功能

2025-05-29 0 71

在我们使用QQ上传头像,注册用户账号时是不是都会遇到上传图像,并根据自己的要求对图像进行裁剪,这是怎么实现的呐?

本文主要介绍了Asp.net mvc实现上传头像加剪裁功能,分享给大家供大家参考。具体如下:

运行效果截图如下:

实现Asp.net mvc上传头像加剪裁功能

具体代码如下:

前台代码

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34
<link href="~/Content/fineuploader.css" rel="stylesheet" />

<link href="~/Content/jquery.Jcrop.min.css" rel="stylesheet" />

<link href="~/Content/crop.min.css" rel="stylesheet" />

<script src="~/Scripts/jquery-1.8.2.min.js"></script>

<script src="~/Scripts/jquery.fineuploader-3.1.min.js"></script>

<script src="~/Scripts/jquery.Jcrop.min.js"></script>

<script src="~/Scripts/crop.js"></script>

<div id="jquery-wrapped-fine-uploader"></div>

<div id="message"></div>

<div id="crop_wrap">

<div id="crop_holder">

<div id="crop_area" class="border">

<img id="crop_image" alt="" src="" class="preview-image" style="display: none" />

</div>

<div id="preview_area">

<div id="preview_title">当前头像</div>

<div id="preview_large_text" class="preview-text">180px × 180px</div>

<div id="preview_large_wrap" class="border">

<img id="preview_large" alt="" src="@ViewBag.Path" class="preview-image" style=""/></div>

</div>

</div>

<div id="crop_operation" style="display: none;">

<form id="form_crop" action="/home/index" method="post">

<input type="hidden" name="x" id="x">

<input type="hidden" name="y" id="y">

<input type="hidden" name="w" id="w">

<input type="hidden" name="h" id="h">

<input type="hidden" name="imgsrc" id="imgsrc">

<input id="crop_operation_submit" type="submit" value="裁切并保存" /><span id="crop_operation_msg" style="display: none" class="green"></span>

</form>

</div>

<div id="croped_message" class="green"></div>

</div>

后台代码

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60
public ActionResult Index()

{

return View();

}

/// <summary>

/// 保存缩略图

/// </summary>

/// <param name="form"></param>

/// <returns></returns>

[HttpPost]

public ActionResult Index(FormCollection form)

{

int x = Convert.ToInt32(form["x"]);

int y = Convert.ToInt32(form["y"]);

int w = Convert.ToInt32(form["w"]);

int h = Convert.ToInt32(form["h"]);

string imgsrc = form["imgsrc"].Substring(0, form["imgsrc"].LastIndexOf("?"));

string path = ImgHandler.CutAvatar(imgsrc, x, y, w, h);

//保存Path

ViewBag.Path = path;

return View();

}

/// <summary>

/// 上传头像

/// </summary>

/// <param name="qqfile"></param>

/// <returns></returns>

[HttpPost]

public ActionResult ProcessUpload(string qqfile)

{

try

{

string uploadFolder = "/Upload/original/" + DateTime.Now.ToString("yyyyMM") + "/";

string imgName = DateTime.Now.ToString("ddHHmmssff");

string imgType = qqfile.Substring(qqfile.LastIndexOf("."));

string uploadPath = "";

uploadPath = Server.MapPath(uploadFolder);

if (!Directory.Exists(uploadPath))

{

Directory.CreateDirectory(uploadPath);

}

using (var inputStream = Request.InputStream)

{

using (var flieStream = new FileStream(uploadPath + imgName + imgType, FileMode.Create))

{

inputStream.CopyTo(flieStream);

}

}

return Json(new { success = true, message = uploadFolder + imgName + imgType });

}

catch (Exception e)

{

return Json(new { fail = true, message = e.Message });

}

}

以上就是实现Asp.net mvc上传头像加剪裁功能的部分代码,小编分享给大家参考,希望对大家的学习有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 实现Asp.net mvc上传头像加剪裁功能 https://www.kuaiidc.com/100786.html

相关文章

发表评论
暂无评论