fineuploader使用实例
1、Fine Uploader特点
Fine Uploader Features:
A:支持文件上传进度显示.
B:文件拖拽浏览器上传方式
C:Ajax页面无刷新.
D:多文件上传.
F:跨浏览器.
E:跨后台服务器端语言.
2、页面前端代码
<div id="btnUpload"></div>
$(function () {
$('#btnUpload').fineUploader({
request: {
endpoint: 'Handler/UpLogo.ashx'
},
validation: {
allowedExtensions: ['jpeg', 'jpg', 'png']
},
multiple: false,
text: {
uploadButton: '<div>上传头像</div>'
}
}).on('complete', function (event, id, fileName, responseJson) {
if (responseJson.success) {
$("#absoluteUrl").val(responseJson.path);
$("#jcrop_target").attr("src", responseJson.url);
$("#jcrop_target").css({ "width": 300, "height": 300 });
$("#preview").attr("src", responseJson.url);
$("#preview").css({ "width": 100, "height": 100 });
ias.update();
}
});
});
2、Handler文件代码
<%@ WebHandler Language="C#" Class="UpLogo" %>
using System;
using System.Web;
using System.IO;
using System.Text;
using System.Net;
using System.Data;
using System.Collections;
using System.Collections.Generic;
using System.Drawing;
using ECS.Utility;
public class UpLogo : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
if (context.Request != null && context.Request.Files.Count > 0)
{
var HttpFile = context.Request.Files[0];
var allowedExt = new List<string> { ".jpg", ".gif", ".bmp", ".png" };
var fileExt = Path.GetExtension(HttpFile.FileName).ToLower();
var File_Name = Path.GetFileNameWithoutExtension(HttpFile.FileName);
var toFileName = Guid.NewGuid().ToString() + fileExt;
var toFileFullPath = context.Server.MapPath("~/UpFiles/UserTemFace/");
var viewPath = "/UpFiles/UserTemFace/";
var Title = File_Name;
DirectoryInfo di = new DirectoryInfo(toFileFullPath);
if (!di.Exists)
{
di.Create();
}
ECS.Model.A_User Model = new ECS.BLL.A_User().GetModel(ValUtil.GetUserID());
if (Model != null)
{
//toFileName = Model.UserFaceImg;
string saveFile = toFileFullPath + toFileName;
//先删除临时文件
//var _filePath = toFileFullPath + "\\" + toFileName;
//if (File.Exists(_filePath))
//{
// FileInfo fi = new FileInfo(_filePath);
// if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)
// {
// fi.Attributes = FileAttributes.Normal;
// }
// File.Delete(_filePath);
//}
HttpFile.SaveAs(saveFile);
Model.UserFaceImg = toFileName;
new ECS.BLL.A_User().Update(Model);
}
string imgeUrl = "";
if (fileExt.ToLower().Equals(".jpg") || fileExt.ToLower().Equals(".gif") || fileExt.ToLower().Equals(".bmp") || fileExt.ToLower().Equals(".png"))
{
imgeUrl = viewPath + toFileName;
}
else
{
context.Response.Write("{success:false,msg:'只能上传图片类型的文件'}");
context.Response.End();
return;
}
string url = viewPath + "/" + toFileName;
context.Response.Write(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(new { success = true, url = url, path = toFileName }));
context.Response.End();
}
else
{
context.Response.Write(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(new { success = false }));
context.Response.End();
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
fineuploader使用实例的更多相关文章
- 最近学习工作流 推荐一个activiti 的教程文档
全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...
- fineuploader 上传jquery 控件
fineuploader 昨天用的一个jquery插件. 可参考这篇文章以前写的 file-uploader 跟 这个跟里面介绍的2个jquery 插件相比.觉得更强大写..版本号都3.9 了….. ...
- 理清fineuploader无刷新上传的一些事
1.fineuploader是一款不依赖与jquery的异步无刷新上传组件,fineuploader采用ajax方式实现对文件上传,返回值都是以json的格式,对后台服务器操作和前端dom对象一些操作 ...
- js-静态、原型、实例属性
本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...
- ZIP压缩算法详细分析及解压实例解释
最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...
- EntityFramework Core 1.1是如何创建DbContext实例的呢?
前言 上一篇我们简单讲述了在EF Core1.1中如何进行迁移,本文我们来讲讲EF Core1.1中那些不为人知的事,细抠细节,从我做起. 显式创建DbContext实例 通过带OnConfiguri ...
- redis集成到Springmvc中及使用实例
redis是现在主流的缓存工具了,因为使用简单.高效且对服务器要求较小,用于大数据量下的缓存 spring也提供了对redis的支持: org.springframework.data.redis.c ...
- 流程开发Activiti 与SpringMVC整合实例
流程(Activiti) 流程是完成一系列有序动作的概述.每一个节点动作的结果将对后面的具体操作步骤产生影响.信息化系统中流程的功能完全等同于纸上办公的层级审批,尤其在oa系统中各类电子流提现较为明显 ...
- UWP开发之Template10实践:本地文件与照相机文件操作的MVVM实例(图文付原代码)
前面[UWP开发之Mvvmlight实践五:SuspensionManager中断挂起以及复原处理]章节已经提到过Template10,为了认识MvvmLight的区别特做了此实例. 原代码地址:ht ...
随机推荐
- 在SecureCRT中无需输入密码登录Linux主机
服务器端操作系统:CentOs 5.8客户端:SecureCRT5.1.3第一步:密钥对的生成.在SecureCRT中建立一个新的连接.protocol选ssh2hostname输入要连接的主机IP. ...
- ABP官方文档翻译 9.1 EntityFramework集成
EntityFramework集成 Nuget包 DbContext 仓储 默认仓储 自定义仓储 应用特定的基础仓储类 自定义仓储示例 仓储最佳实践 事务管理 数据存储 ABP可以使用ORM框架,它内 ...
- Ling && Lambda
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 第一周 动态规划Dynamic Programming(一)
一.概念 动态规划是运筹学的一个分支,是求解决策过程最优化的数学方法.动态规划是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决. 1.试用情况: 2.解决步骤 ...
- 如何解决JavaScript中0.1+0.2不等于0.3
console.log(0.1+0.2===0.3)// true or false?? 在正常的数学逻辑思维中,0.1+0.2=0.3这个逻辑是正确的,但是在JavaScript中0.1+0.2!= ...
- WPF项目学习.一
WPF项目搭建 版权声明:本文为博主初学经验,未经博主允许不得转载. 一.前言 记录在学习与制作WPF过程中遇到的解决方案. 使用MVVM的优点是 数据和视图分离,双向绑定,低耦合,可重用行,相对独立 ...
- 阿里云CentOS使用iptables禁止某IP访问
在CentOS下封停IP,有封杀网段和封杀单个IP两种形式.一般来说,现在的攻击者不会使用一个网段的IP来攻击(太招摇了),IP一般都是散列的.于是下面就详细说明一下封杀单个IP的命令,和解封单个IP ...
- centos ELK安装
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn ELK是进行日志收集分析用的,具体工作.原理.作用自行google. ...
- spring 完成multipart数据上传
spring中多媒体文件的上传,通过配置 MultipartResolver 实现. MultipartResolver 的实现类有两个:一.StandardServletMultipartResol ...
- mac idea中的Application Server was not connected before run configuration stop, reason: Unable to ping server at localhost:1099问题
今天上午用的好好的就出现了这个问题 真是奇怪: Google了一番有以下解决办法: 1.hosts文件的问题: vi /etc/hosts文件 添加127.0.0.1 localhost里面 2.m ...