富头像编辑器的使用
来源:互联网 发布:手机门窗设计软件 编辑:程序博客网 时间:2024/04/19 18:44
<script src="~/Content/jquery-1.9.1.min.js"></script>
<script src="~/Content/UploadPic/logoupload/swfobject.js"></script><script src="~/Content/UploadPic/logoupload/fullAvatarEditor.js"></script>
<!-----注意 在用此插件时出现问题,导致效果出不来
正确方法是在此给出swf文件的路径,
var swf = new fullAvatarEditor("/Content/UploadPic/logoupload/fullAvatarEditor.swf", "/Content/UploadPic/logoupload/expressInstall.swf"
但是改路径找不到,所以暂时修改fullAvatarEditor.js文件中files,给出指定的文件路径
-->
布局部分
<div style="width:630px;margin: 0 auto;">
<h1 style="text-align:center">富头像上传编辑器演示</h1>
<div>
<p id="swfContainer">
</p>
</div>
<button id="upload">上传</button>
</div>
script部分
<script type="text/javascript">
swfobject.addDomLoadEvent(function () {
var swf = new fullAvatarEditor("/Content/UploadPic/logoupload/fullAvatarEditor.swf", "/Content/UploadPic/logoupload/expressInstall.swf", "swfContainer", {
//此处的swfContainer是容器的id
id: 'swf',
upload_url: '@Url.Action("Upload")',
//avatar_sizes: "290*150",
//avatar_sizes_desc: "290*150像素",
src_upload: 2,//是否上传原图片的选项,有以下值: 0 ---不上传 1 ---上传 2 ---显示复选框由用户选择
tab_visible:false,//是否显示选项卡
//browse_box_border_color:"#000",//图片选择框的边框颜色。格式如:#888,#888888
//browse_box_align:"center",
src_size: "2MB",//选择的本地图片文件所允许的最大值,必须带单位,如888Byte,88KB,8MB
browse_button: "上传图片",//选择图片时的按钮文本
//avatar_intro_font:"裁剪后图片",
isShowUploadResultIcon: true,//在上传完成时(无论成功和失败),是否显示表示上传结果的图标。
src_size_over_limit: '文件大小超出限制(2MB)\n请重新上传',
}, function (msg) {
switch (msg.code) {
case 1: document.title="页面成功加载了组件!"; break;
case 2: document.title="已成功加载默认指定的图片到编辑面板。"; break;
case 3:
if (msg.type == 0) {
document.title = "摄像头已准备就绪且用户已允许使用。";
}
else if (msg.type == 1) {
document.title="摄像头已准备就绪但用户未允许使用!";
}
else {
document.title = "摄像头被占用!";
}
break;
case 5:
if (msg.type == 0) {
if (msg.content.sourceUrl) {
document.title = "原图已成功保存至服务器,url为:\n" + msg.content.sourceUrl;
}
document.title = "头像已成功保存至服务器,url为:\n" + msg.content.avatarUrls.join("\n");
}
break;
}
}
);
});
</script>
后台方法
public ActionResult Upload() {
Result result = new Result();
result.avatarUrls = new ArrayList();
result.success = false;
result.msg = "Failure!";
//取服务器时间+8位随机码作为部分文件名,确保文件名无重复。
string fileName = DateTime.Now.ToString("yyyyMMddhhmmssff") + CreateRandomCode(8);
//定义一个变量用以储存当前头像的序号
int avatarNumber = 1;
string url = "~/Admin/Upload/";
//遍历所有文件域
foreach (string fieldName in Request.Files.AllKeys)
{
HttpPostedFileBase file = Request.Files[fieldName];
//原始图片(file 域的名称:__source,如果客户端定义可以上传的话,可在此处理)。
if (fieldName == "__source")
{
result.sourceUrl = string.Format("/upload/csharp_source_{0}.jpg", fileName);
file.SaveAs(Server.MapPath(result.sourceUrl));
}
//头像图片(file 域的名称:__avatar1,2,3...)。
else
{
string virtualPath = "";
//判断是是否有该文件夹
if (!Directory.Exists(Server.MapPath(url)))
Directory.CreateDirectory(Server.MapPath(url));//创建文件夹
virtualPath = url + fileName +avatarNumber+ ".jpg";
//string virtualPath = string.Format("/upload/csharp_avatar{0}_{1}.jpg", avatarNumber, fileName);
result.avatarUrls.Add(virtualPath);
file.SaveAs(Server.MapPath(virtualPath));
avatarNumber++;
}
}
result.success = true;
result.msg = "Success!";
//返回图片的保存结果(返回内容为json字符串,可自行构造,该处使用Newtonsoft.Json构造)
// Response.Write(JsonConvert.SerializeObject(result));
return Json(result);
}
/// <summary>
/// 生成指定长度的随机码。
/// </summary>
private string CreateRandomCode(int length)
{
string[] codes = new string[36] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
StringBuilder randomCode = new StringBuilder();
Random rand = new Random();
for (int i = 0; i < length; i++)
{
randomCode.Append(codes[rand.Next(codes.Length)]);
}
return randomCode.ToString();
}
/// <summary>
/// 表示图片的上传结果。
/// </summary>
private struct Result
{
/// <summary>
/// 表示图片是否已上传成功。
/// </summary>
public bool success;
/// <summary>
/// 自定义的附加消息。
/// </summary>
public string msg;
/// <summary>
/// 表示原始图片的保存地址。
/// </summary>
public string sourceUrl;
/// <summary>
/// 表示所有头像图片的保存地址,该变量为一个数组。
/// </summary>
public ArrayList avatarUrls;
}
- 富头像编辑器的使用
- 超强大的富头像上传编辑器
- 富头像上传编辑器
- fullAvatarEditor富头像上传编辑器
- fullavatareditor 富头像上传编辑器
- 富文本编辑器的使用
- 富文本编辑器的使用
- 富文本编辑器的使用
- 富文本编辑器的使用
- 富文本编辑器的使用
- thinkphp3.2.3富头像上传编辑器
- 富头像上传编辑器(flash头像上传插件)
- jquery的wysiwyg富文本编辑器使用
- kindeditor富文本编辑器的使用
- UMeditor百度富文本编辑器的使用
- 富文本web编辑器--ueditor的使用
- 富文本编辑器ckeditor的使用
- 百度富文本编辑器Ueditor的使用
- CentOS7安装etcd和flannel
- post提交数据总结
- spring boot application.properties文件外部配置
- break,continue,break的用法与区别
- 给Web应用程序设置Cache
- 富头像编辑器的使用
- Hibernate与 MyBatis的比较
- iOS APP升级版本
- 简述ES5 ES6
- 8. String to Integer (atoi)
- linux 各命令字练习
- 找到二叉树中的最大搜索二叉树
- Ubuntu12.04 vim上安装taglist
- OSGEARTH初探