啥都不说,先上效果图:

这是一个网上的第三方组件,原版是php的,我用.NET重写了图片上传的处理,下面贴上代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Text; namespace CFUpload.CFUpload
{
/// <summary>
/// Upload 的摘要说明
/// </summary>
public class Upload : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html"; //定义文件保存目录
String save_path = context.Server.MapPath("./files/");
//定义文件保存url
String save_url = "/CFUpload/files/";
//定义允许文件的扩展名
String[] ext_arr = {"gif", "jpg", "jpeg", "png", "bmp"};
//定义最大允许的文件大小
int max_size = 1024 * 500; HttpFileCollection files = context.Request.Files; //有文件存在
if (files.Count > 0)
{
HttpPostedFile file = files["Filedata"];
String file_name = file.FileName;
int file_size = file.ContentLength;
String file_ext = Path.GetExtension(file_name); //检查文件名
if (!ChecPickExt(file_ext))
{
context.Response.Write("返回错误: 请选择文件");
context.Response.End();
} //检查目录
if (!Directory.Exists(save_path))
{
context.Response.Write("返回错误: 上传目录不存在("+save_path+")");
context.Response.End();
} //检查是否已上传
if (File.Exists( Path.Combine(save_path , file_name) ))
{
context.Response.Write("返回错误: 文件已存在");
context.Response.End();
} //检查文件大小
if (file_size > max_size)
{
context.Response.Write("返回错误: 上传文件大小超过限制。最大"+(max_size/1024)+"KB");
context.Response.End();
} context.Response.Write("上传的文件:" + file_name);
context.Response.Write("文件类型:" + file_ext);
context.Response.Write("文件大小:" + file_size); //创建文件夹
String directPath = Path.Combine(save_path, DateTime.Now.ToString("yyyy-MM-dd"));
Directory.CreateDirectory(directPath); //存在则创建,不存在则不创建
String realFileName = DotNet.Utilities.Encrypt.Md5(file_name);
String realFilePath = directPath + "/" + realFileName + file_ext;
//保存文件
file.SaveAs(realFilePath);
//提示上传成功
context.Response.Write("<br />上传成功</br >");
} } /// <summary>
/// 在服务器端判断文件后缀
/// </summary>
/// <param name="ext"></param>
/// <returns></returns>
public bool ChecPickExt(String ext)
{
if (ext.ToLower() == ".bmp")
return true;
if (ext.ToLower() == ".jpg" || ext.ToLower() == ".jpeg")
return true;
if (ext.ToLower() == ".png")
return true;
if (ext.ToLower() == ".gif")
return true; return false;
} public bool IsReusable
{
get
{
return false;
}
}
}
}

处理过程在原版基础上稍作处理,针对.NET环境下作了优化,供大家参考 。

Demo下载:http://pan.baidu.com/s/1dDvS9XJ

无刷新的批量图片上传插件.NET版的更多相关文章

  1. ueditor图片上传插件的使用

    在项目里使用到ueditor图片上传插件,以前图片上传都是直接使用js代码直接上传图片,比较麻烦,而且效率也比较低,而ueditor这款插件完美的解决了这个问题,这个是百度开发的一款富文本编辑器,在这 ...

  2. Jquery自定义图片上传插件

    1 概述 编写后台网站程序大多数用到文件上传,可是传统的文件上传控件不是外观不够优雅,就是性能不太好看,翻阅众多文件上传控件的文章,发现可以这样去定义一个文件上传控件,实现的文件上传的效果图如下: 2 ...

  3. Aps.net中基于bootstrapt图片上传插件的应用

    Aps.net中基于bootstrapt图片上传插件的应用 在最近的项目中需要使用一个图片上传的功能,而且是多张图片同时上传到服务器的文件夹中,将图片路径存放在数据库中.为了外观好看使用了bootst ...

  4. ssm项目中KindEditor的图片上传插件,浏览器兼容性问题

    解决办法: 原因:使用@ResponseBody注解返回java对象,在浏览器中是Content-Type:application/json;charset=UTF-8 我们需要返回字符串(Strin ...

  5. WebUploader文件图片上传插件的使用

    最近在项目中用到了百度的文件图片上传插件WebUploader.分享给大家 需要在http://fex.baidu.com/webuploader/download.html点击打开链接下载WebUp ...

  6. kindeditor 图片上传插件

    富文本编辑器,kindeditor是比较好用的一款.需要的功能都有,文档.demo也详细.有什么功能去官网看一眼就好. 官网:http://kindeditor.net/ 一些好用的如图片上传,kin ...

  7. jq实现批量图片上传

    http://blog.csdn.net/lmj623565791/article/details/31513065 jq实现批量图片上传 http://blog.csdn.net/lmj623565 ...

  8. KindeEditor图片上传插件用法

    因业务需要找了款插件 KindeEditor编辑器确认挺好用,但无奈技术有限,上传配置不知,故问度娘! 图片上传对于部分新手来说有时候是一件非常头疼的事,今天来分享一下项目中使用到的这个插件Kinde ...

  9. Mvc 批量图片上传

    首先导入文件(官网上下载 kindeditor ): <link href="~/kindeditor-4.1.11-zh-CN/kindeditor/themes/default/d ...

随机推荐

  1. java项目中的异常处理总结

    异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误.出现错误时观察错误的名字和行号最为重要. 比如你读取的文件不存在,数组越界,进行除法时,除数为0等都会导致异常. 我找一个比较形象 ...

  2. 代码架构.md

    代码架构 待办 昨天待办 decription decription 我的流程逻辑(异常处理方式) 1568097677501.drawio.html 29.94 KB 异常的两种处理方式 异常的两种 ...

  3. 16day 重定向符号:

    >/1> 标准输出重定向符号 2> 错误输出重定向符号 >>/1> 标准输出追加重定向符号 2>> 错误输出追加重定向符号 如何将正确信息和错误信息都输 ...

  4. 2.17NOIP模拟赛(by hzwer) T3 小奇回地球

    [题目背景] 开学了,小奇在回地球的路上,遇到了一个棘手的问题. [问题描述] 简单来说,它要从标号为 1 的星球到标号为 n 的星球,某一些星球之间有航线. 由于超时空隧道的存在,从一个星球到另一个 ...

  5. arcgis中的Join(合并连接)和Relate(关联连接)

    arcgis中的Join(合并连接)和Relate(关联连接) 一.区别 1.连接关系不一样. Relate(关联连接)方式连接的两个表之间的记录可以是“一对一”.“多对一”.“一对多”的关系 Joi ...

  6. 在远程连接mysql数据库出现问题怎么办

    远程连接mysql数据库报“Communications link failure...”错误 今天在用myEclipse连接时提示:Communications link failure,Last ...

  7. EF Code Frist 配置

    通过Nuget安装Entity Framework, 创建model;[Table("")] 代表在数据库对应的名称,可以自定义规则,[Key]代表是主键 [Table(" ...

  8. 推荐几个c/c++语言编写的游戏源码下载网站

    在游戏开发的学习或工作中,利用完好的游戏源码可以事半功倍,不仅可以逆向学习开拓思维,也可以大大减少设计周期.自己浏览了很游戏源码下载的网站,发现大多数质量都良莠不齐,且大部分需要消费才能下载,下面整理 ...

  9. Network - HTTP 可能遇到的状态码

    1. 概述 工作中, 会遇到 形形色色 的状态码 虽然这些状态码, 很多都是自定义的, 但是很多的 自定义, 还是有些 约定俗成 的规律 状态 虽然现在发布了, 但是基本算是没有, 还得慢慢补充 2. ...

  10. Codeforces Round #618 (Div. 1)A(观察规律)

    实际上函数值为x&(-y) 答案仅和第一个数字放谁有关 #define HAVE_STRUCT_TIMESPEC #include <bits/stdc++.h> using na ...