技术标签: .NET
关于上传头像并且截图网上应该有很多资料,大多都是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
希望这篇文章对您有用。
文章浏览阅读3.2k次。本文研究全球与中国市场分布式光纤传感器的发展现状及未来发展趋势,分别从生产和消费的角度分析分布式光纤传感器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。主要生产商包括:FISO TechnologiesBrugg KabelSensor HighwayOmnisensAFL GlobalQinetiQ GroupLockheed MartinOSENSA Innovati_预计2026年中国分布式传感器市场规模有多大
文章浏览阅读1.1k次,点赞2次,收藏12次。常用组合逻辑电路结构——为IC设计的延时估计铺垫学习目的:估计模块间的delay,确保写的代码的timing 综合能给到多少HZ,以满足需求!_基4布斯算法代码
文章浏览阅读3.3k次,点赞3次,收藏5次。OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版
文章浏览阅读2.2k次。USACO自1992年举办,到目前为止已经举办了27届,目的是为了帮助美国信息学国家队选拔IOI的队员,目前逐渐发展为全球热门的线上赛事,成为美国大学申请条件下,含金量相当高的官方竞赛。USACO的比赛成绩可以助力计算机专业留学,越来越多的学生进入了康奈尔,麻省理工,普林斯顿,哈佛和耶鲁等大学,这些同学的共同点是他们都参加了美国计算机科学竞赛(USACO),并且取得过非常好的成绩。适合参赛人群USACO适合国内在读学生有意向申请美国大学的或者想锻炼自己编程能力的同学,高三学生也可以参加12月的第_usaco可以多次提交吗
文章浏览阅读394次。1.1 存储程序1.2 创建存储过程1.3 创建自定义函数1.3.1 示例1.4 自定义函数和存储过程的区别1.5 变量的使用1.6 定义条件和处理程序1.6.1 定义条件1.6.1.1 示例1.6.2 定义处理程序1.6.2.1 示例1.7 光标的使用1.7.1 声明光标1.7.2 打开光标1.7.3 使用光标1.7.4 关闭光标1.8 流程控制的使用1.8.1 IF语句1.8.2 CASE语句1.8.3 LOOP语句1.8.4 LEAVE语句1.8.5 ITERATE语句1.8.6 REPEAT语句。_mysql自定义函数和存储过程
文章浏览阅读188次。半导体二极管——集成电路最小组成单元。_本征半导体电流为0
文章浏览阅读2.8k次,点赞3次,收藏18次。游戏水面特效实现方式太多。咱们这边介绍的是一最简单的UV动画(无顶点位移),整个mesh由4个顶点构成。实现了水面效果(左图),不动代码稍微修改下参数和贴图可以实现岩浆效果(右图)。有要思路是1,uv按时间去做正弦波移动2,在1的基础上加个凹凸图混合uv3,在1、2的基础上加个水流方向4,加上对雾效的支持,如没必要请自行删除雾效代码(把包含fog的几行代码删除)S..._unity 岩浆shader
文章浏览阅读5k次。广义线性模型是线性模型的扩展,它通过连接函数建立响应变量的数学期望值与线性组合的预测变量之间的关系。广义线性模型拟合的形式为:其中g(μY)是条件均值的函数(称为连接函数)。另外,你可放松Y为正态分布的假设,改为Y 服从指数分布族中的一种分布即可。设定好连接函数和概率分布后,便可以通过最大似然估计的多次迭代推导出各参数值。在大部分情况下,线性模型就可以通过一系列连续型或类别型预测变量来预测正态分布的响应变量的工作。但是,有时候我们要进行非正态因变量的分析,例如:(1)类别型.._广义线性回归模型
文章浏览阅读69次。环境保护、 保护地球、 校园环保、垃圾分类、绿色家园、等网站的设计与制作。 总结了一些学生网页制作的经验:一般的网页需要融入以下知识点:div+css布局、浮动、定位、高级css、表格、表单及验证、js轮播图、音频 视频 Flash的应用、ul li、下拉导航栏、鼠标划过效果等知识点,网页的风格主题也很全面:如爱好、风景、校园、美食、动漫、游戏、咖啡、音乐、家乡、电影、名人、商城以及个人主页等主题,学生、新手可参考下方页面的布局和设计和HTML源码(有用点赞△) 一套A+的网_垃圾分类网页设计目标怎么写
文章浏览阅读614次,点赞7次,收藏11次。之前找到一个修改 exe 中 DLL地址 的方法, 不太好使,虽然能正确启动, 但无法改变 exe 的工作目录,这就影响了.Net 中很多获取 exe 执行目录来拼接的地址 ( 相对路径 ),比如 wwwroot 和 代码中相对目录还有一些复制到目录的普通文件 等等,它们的地址都会指向原来 exe 的目录, 而不是自定义的 “lib” 目录,根本原因就是没有修改 exe 的工作目录这次来搞一个启动程序,把 .net 的所有东西都放在一个文件夹,在文件夹同级的目录制作一个 exe._.net dll 全局目录
文章浏览阅读1.5k次。本文为转载,原博客地址:http://blog.csdn.net/hujingshuang/article/details/46910259简介 BRIEF是2010年的一篇名为《BRIEF:Binary Robust Independent Elementary Features》的文章中提出,BRIEF是对已检测到的特征点进行描述,它是一种二进制编码的描述子,摈弃了利用区域灰度..._breif description calculation 特征点
文章浏览阅读4.1k次,点赞21次,收藏79次。本文是《基于SpringBoot的房屋租赁管理系统》的配套原创说明文档,可以给应届毕业生提供格式撰写参考,也可以给开发类似系统的朋友们提供功能业务设计思路。_基于spring boot的房屋租赁系统论文