关于上传头像并且截图网上应该有很多资料,大多都是JQuery插件,用起来不是很方便

本文所介绍的方法将快速完成一个“上传头像图片并截图”,只需要修改少量的代码

我们先来看看完成后的效果:

下面我们在快速搭建一个头像上传的MVC3程序:

前台页面的适当位置加入下面的代码:

 <input type="button" value="上传" οnclick="clll()" /><div id="content" style="width: 630px; height: 360px; padding: 10px; display: block;border: 1px solid #ddd;"></div><div id="info" style="width: 630px; height: auto; line-height: 20px; border: 1px solid #ddd;border-top: 0px; font-size: 12px; padding: 10px;"><p style="color: #666">图片说明:<br />每次上传的文件覆盖前面的文件。上传后的路径为: ~/upload/<br />以字母b结尾的为大图(130x130 像素),以字母m结尾的为中图(55x55像素),以s结尾的为小图(35x35像素)</p></div>

<div id="content"></div>

Flash的在content显示,当然,这个也可以配置,我们可以在js代码中配置

在页面的适当位置加入下面的代码:

<script src="@Url.Content("~/Content/themes/avatar/tangram-custom-full-yui.js")" type="text/javascript"></script>
<script type="text/javascript">var info = baidu.g("info");var options = {uploadURL: "@Url.Action("UploadAvatar", "Account")", tipHandle: function (tip) {alert(tip);}, uploadCallBack: function () {// 处理完毕后的操作。例如 window.location ='xxxxx/xxxxx';alert("头像更换成功。");}, createOptions: {id: "flashID", url: "@Url.Content("~/Content/themes/avatar/avatarMaker.swf")", width: "630px", height: "360px", container: "content"}};var up = new baidu.flash.avatarMaker(options);var t = function () {var d = new Date();return [d.getHours(), d.getMinutes(), d.getSeconds()].join(":")};function clll() { up.upload(); }
</script>

uploadURL为你的上传处理函数

createOptions里面可以配置一些flash的信息。

在后台响应函数中添加适当的代码:

public ActionResult UploadAvatar(){int filecount = Request.Files.Count;//获得MIME文件流 的文件数量Stream[] resStreamArray = new Stream[filecount];//建立文件流数组string[] strFilePathArray = new string[filecount];//建立服务器文件地址数组long[] iBufferSizeArray = new long[filecount];//建立文件流字节长度for (int i = 0; i < filecount; i++){resStreamArray[i] = Request.Files.Get(i).InputStream;//这里设定保存后的名称,strFilePathArray[i] = Server.MapPath("~/upload/" + DateTime.Now.ToString("yyMMddhhmmss") + Request.Files.Get(i).FileName.Substring(0, 1) + ".png");if (System.IO.File.Exists(strFilePathArray[i]))//存在同名文件则删除{System.IO.File.Delete(strFilePathArray[i]);}iBufferSizeArray[i] = Request.Files.Get(i).InputStream.Length;FileStream fileStream = System.IO.File.Create(strFilePathArray[i]);//创建新文件byte[] buffer = new byte[iBufferSizeArray[i]];int iReadLength = 0;//读取返回流iReadLength = resStreamArray[i].Read(buffer, 0, buffer.Length);while (iReadLength > 0){//写入文件流中fileStream.Write(buffer, 0, iReadLength);iReadLength = resStreamArray[i].Read(buffer, 0, buffer.Length);}fileStream.Flush();resStreamArray[i].Close();fileStream.Close();}return View();}

这样我们的配置就算完成了,当然,必不可少的2个文件avatarFlash.swf 和 tangram-custom-full-yui.js 我们只需要放在特定的文件夹里面,改下上面的一些参数就好了。

当然,如果你不是用到MVC3,那么将会更简单哦。

avatarFlash.swf 和 tangram-custom-full-yui.js 在下面给出的连接下载。

案例源码下载地址:ASP.NET MVC3 上传头像图片并截图

连接不能点击,请点击:http://download.csdn.net/detail/risingsun001/5578393

希望这篇文章对您有用。

转载于:https://www.cnblogs.com/snake-hand/archive/2013/06/14/3136997.html

ASP.NET MVC3 上传头像图片并截图相关推荐

  1. axios获取图片显示_vue中使用axios post上传头像/图片并实时显示到页面的方法

    在前端开发中,为了更好的用户体验,在头像上传时会先将图片显示到页面然后点击保存按钮 完成图片的上传成功 代码部分有参考他人的写法. html代码: 请上传图片 js代码: //实时显示该图片在页面 g ...

  2. Django搭建个人博客:上传头像图片

    到目前为止我们的博客处理的都是文字.现代互联网早就进入了"读图"时代,图片的维护.展示也就相当重要. 上一章中预留了avatar字段,用来保存用户上传的头像,现在我们来实现这个功能 ...

  3. 小程序上传头像图片裁剪

    原文链接:https://blog.csdn.net/qq_41049816/article/details/90604607* 给网上收到的 不知道好不好用 先收藏着: 小程序涉及到了用户上传头像的 ...

  4. JEECG 上传头像,图片并切割

    Jcrop  + commons-fieldupload 上传组件上传图片并切割 图片上传并完成切割,图片的切割必须在服务器端完成,在客户端是无法进行切割的,至少在目前阶段. 1 母页面 regist ...

  5. vue中使用axios post上传头像/图片并实时显示到页面

    前端开发中,为了更好的用户体验,在头像上传时会先将图片显示到页面然后点击保存按钮 完成图片的上传成功 代码部分有参考他人的写法. html代码: <div id="myPhoto&qu ...

  6. ASP.NET Core 上传文件 图片上传

    在 ASP.NET Core 中上传文件 vs2019 选择文件后,调试停止问题 工具 -> 选项 -> 项目和解决方案 -> Web项目 -> 浏览器窗口关闭时停止调试器(s ...

  7. jQuery点击头像上传头像图片并预览图片

    HTML代码 <div class="img_show img_show1">         <img src="img2/img06.jpg&quo ...

  8. html实现选择头像,HTML5实现上传头像图片大小选择(简单实现)

    HTML5仿微博图片上传后大小选择,请使用chrom或者FireFox运行.如果报SECURITY_ERR需要把文件放在服务器端.比如nginx里. 1.[代码][HTML]代码 New Docume ...

  9. asp.net+js+ajax实现手机移动端页面预览、剪裁、上传头像图片

    参考资料:支持移动设备触摸图片裁剪的jQuery插件 移动端html <!DOCTYPE html> <html> <head><meta http-equi ...

最新文章

  1. com.ibm.msg.client.jms.DetailedJMSSecurityException: JMSWMQ2013: 为队列管理器提供的安全性认证无效...
  2. android DataBind LiveData ViewModel 使用详解
  3. [置顶]       ibatis做分页
  4. jwt认证机制优势和原理_微服务统一登录认证怎么做?JWT?
  5. 工具栏的使用 1118
  6. Kendo Web UI Grid里时间格式转换
  7. python书籍推荐-Python爬虫开发与项目实战
  8. 【机器学习】无监督学习--(降维)主成分分析PCA
  9. BZOJ 2152 Luogu 2634——聪聪可可
  10. 后端-SpringBoot MySql 连接语句
  11. 在Word2007文档中创建数学公式——使用Word公式编辑器
  12. 随心玩玩(一)易语言 大漠插件 制作脚本从入门到摔门而出(更完)
  13. 矢量网络分析仪(矢网)组成和原理简介
  14. 简述信息都有哪些特征?
  15. 汤姆猫炫跑鸿蒙,汤姆猫炫跑游戏怎么操作-玩法规则一览
  16. android 各个手机型号的功放和听筒模式的研究
  17. java 邮件客户端 smtp_带用户验证的SMTP邮件客户端java实现
  18. 2021爱分析·云计算趋势报告——支撑数字化转型,企业云平台建设进入新阶段
  19. Android N App分屏模式完全解析
  20. python中的坐标轴的画法

热门文章

  1. STM32F4 HAL库开发 -- 独立看门狗(IWDG)
  2. DM368开发 -- Bootloader 开发(转毕设)
  3. 数据结构与算法 -- 栈 ADT
  4. zcmu-2153(拓扑排序+优先队列)
  5. 【译】Engineering Security Through Coordination Problems
  6. 真假应用傻傻分不清,HideIcon病毒玩起“隐身计”
  7. 分享到facebook链接原格式_神马?!你还不知道Facebook广告怎么操作?
  8. 宝峰uv5r怎么设置信道_极蜂D301对讲机和宝峰UV5R 半月评
  9. JZOJ 5484. 【清华集训2017模拟11.26】快乐树
  10. cad抛物线曲线lisp_曲线的转弯半径和曲率 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...