<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="upload.aspx.cs" Inherits="PDF2016.upload" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>uploadify3.2上传文件</title>
<script src="js/jquery-1.10.2.min.js"></script>
<link href="js/uploadify3.2/uploadify.css" rel="stylesheet" />
<script src="js/uploadify3.2/jquery.uploadify.min.js"></script>
<script type="text/javascript">
$(function () {
/*************setting***************/
var definedData = [];
definedData.auth = "@(Request.Cookies[FormsAuthentication.FormsCookieName]==null ? string.Empty : Request.Cookies[FormsAuthentication.FormsCookieName].Value)";
definedData.ASPSESSID = "@Session.SessionID";
definedData.fileTypeExts = "*.doc;*.docx;*.xls;*.xlsx;*.pdf;*.ppt;*.txt;*.rar;*.zip;*.exe"; //上传类型
definedData.uploader = "/UploadHandler.ashx"; //后台处理路径
definedData.fileSizeLimit = "2MB"; //上传大小
definedData.fileObjName = "file_upload"; //控件名
definedData.queueSizeLimit = 1; //允许上传个数文件
var data = { 'ASPSESSID': definedData.ASPSESSID, 'AUTHID': definedData.auth }; //firefox用swf上传丢失session var errorData = [];
errorData.err100 = "文件个数超出系统限制,只允许上传" + definedData.queueSizeLimit + "个文件!";
errorData.err110 = "文件超出系统限制的大小,限制文件大小" + definedData.fileSizeLimit + "!";
errorData.err120 = "文件大小异常!";
errorData.err130 = "文件类型不正确,只允许上传后缀名" + definedData.fileTypeExts + "!";
/*************setting***************/
$("#file_upload").uploadify({
'buttonText': '选择资源',
'swf': '/js/uploadify3.2/uploadify.swf',
'uploader': definedData.uploader,
'auto': false, //当文件被添加到队列时,自动上传
'formData': data, //上传时传递数据
'fileObjName': definedData.fileObjName,
'queueSizeLimit': definedData.queueSizeLimit,
'fileTypeExts': definedData.fileTypeExts,
'fileSizeLimit': definedData.fileSizeLimit,
'onUploadSuccess': function(file, data, response) {
$('#file_upload').uploadify('cancel', '*'); //隐藏进度条</span>
var dataJson = JSON.parse(data);
if (dataJson.Status) {
//上传成功
alert(dataJson.Message);
} else {
//上传失败
alert(dataJson.Message);
}
},
//返回一个错误,选择文件的时候触发
'onSelectError': function (file, errorCode, errorMsg) {
switch (errorCode) {
case -100:
alert(errorData.err100);
break;
case -110:
alert(errorData.err110);
break;
case -120:
alert(errorData.err120);
break;
case -130:
alert(errorData.err130);
break;
}
},
//检测FLASH失败调用
'onFallback': function () {
alert("您未安装FLASH控件,无法上传!请安装FLASH控件后再试。");
}
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<p><input type="file" name="file_upload" id="file_upload" /></p>
<p>
<img src="js/uploadify3.2/upload.jpg" style="cursor: pointer;" onclick="javascript:$('#file_upload').uploadify('upload')" />
</p>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using Newtonsoft.Json; namespace PDF2016
{
/// <summary>
/// UploadHandler 的摘要说明
/// </summary>
public class UploadHandler : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Charset = "utf-8"; UploadResult result = new UploadResult();
HttpPostedFile file = context.Request.Files["file_upload"];
string folder = context.Server.MapPath("~/upload/");
if (file != null && file.ContentLength > 0)
{
if (!Directory.Exists(folder))
{
Directory.CreateDirectory(folder);
}
file.SaveAs(Path.Combine(folder, file.FileName));
result.Status = true;
result.Message = file.FileName;
}
else
{
result.Status = false;
result.Message = "请选择上传文件";
}
string json = JsonConvert.SerializeObject(result, Formatting.Indented);
context.Response.Write(json);
} public class UploadResult
{
public bool Status;
public string Message;
} public bool IsReusable
{
get { return false; }
}
}
}
//在Global.asax中添加如下代码
//using System.Web.Security;
protected void Application_BeginRequest(object sender, EventArgs e)
{
try
{
string session_param_name = "ASPSESSID";
string session_cookie_name = "ASP.NET_SESSIONID"; if (HttpContext.Current.Request.Form[session_param_name] != null)
{
UpdateCookie(session_cookie_name, HttpContext.Current.Request.Form[session_param_name]);
}
else if (HttpContext.Current.Request.QueryString[session_param_name] != null)
{
UpdateCookie(session_cookie_name, HttpContext.Current.Request.QueryString[session_param_name]);
}
}
catch (Exception)
{
} try
{
string auth_param_name = "AUTHID";
string auth_cookie_name = FormsAuthentication.FormsCookieName; if (HttpContext.Current.Request.Form[auth_param_name] != null)
{
UpdateCookie(auth_cookie_name, HttpContext.Current.Request.Form[auth_param_name]);
}
else if (HttpContext.Current.Request.QueryString[auth_param_name] != null)
{
UpdateCookie(auth_cookie_name, HttpContext.Current.Request.QueryString[auth_param_name]);
} }
catch (Exception)
{
} }
void UpdateCookie(string cookie_name, string cookie_value)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies.Get(cookie_name);
if (cookie == null)
{
HttpCookie cookie1 = new HttpCookie(cookie_name, cookie_value);
Response.Cookies.Add(cookie1);
}
else
{
cookie.Value = cookie_value;
HttpContext.Current.Request.Cookies.Set(cookie);
}
}

Uploadify 3.2上传文件,限制类型,大小,传递参数等的更多相关文章

  1. js判断上传文件的类型和大小

    //检测文件大小和类型 function fileChange(target){ //检测上传文件的类型 if(!(/(?:jpg|gif|png|jpeg)$/i.test(target.value ...

  2. MIME类型-服务端验证上传文件的类型

    MIME的作用 : 使客户端软件,区分不同种类的数据,例如web浏览器就是通过MIME类型来判断文件是GIF图片,还是可打印的PostScript文件. web服务器使用MIME来说明发送数据的种类, ...

  3. 在MVC中利用uploadify插件实现上传文件的功能

    趁着近段的空闲时间,开发任务不是很重,就一直想把以前在仓促时间里所写的多文件上传功能改一下,在网上找了很多例子,觉得uploadify还可以,就想用它来试试.实现自己想要的功能.根据官网的开发文档,同 ...

  4. CI(2.2) 配置 jquery的上传插件Uploadify(v3.2) 上传文件

    1.下载uploadify,   我的是v3.2 2.模板页面引入: <base href='{base_url()}' /> <script type="text/jav ...

  5. 从零开始学安全(四十)●上传文件MIME类型绕过漏洞防御

    MIME检测原理 服务端MIME类型检测是通过检查http包的Content-Type字段中的值来判断上传文件是否合法的. php示例代码: if($_FILES['userfile']['type' ...

  6. js限制上传文件的类型和大小

    var maxsize = 6*1024*1024;//6M var errMsg = "上传的附件文件不能超过6M!!!"; var tipMsg = "您的浏览器暂不 ...

  7. c#代码发送post请求,上传文件(并带其他参数)

    本人对post理解不深,前段时间遇到一个需要用c#代码发送post请求上传文件的业务,于是参考了几篇帖子,加上自身实践写出了如下代码.写的比较low 望各位大大指正^_^. 业务需求: 对方给了一个接 ...

  8. layui结合SpringMVC上传文件以及携带额外的参数上传文件

    今天在使用layui的过程中,遇到了使用其上传文件的模块.自己感觉文件上传还是bootstrapfileinput插件比较好用一些,灵活方便,bootstrapfileinput使用方法参考:http ...

  9. PHP上传文件限制的大小

    修改PHP上传文件大小限制的方法 1. 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止 ...

随机推荐

  1. 浅谈java中==与equals的区别

    今天做了一个业务模块,需要简单的遍历比较值,所以习惯性的用了 "==" ,但是结果没有达到预想的结果是什么鬼? 看到这里,有人一定会指出这俩货不是基本变量! "关系操作符 ...

  2. JavaScript学习日志(六):事件

    这篇随笔,深恶痛绝,敲到快结束的时候,凌晨00:19,突然闪退,也不知道是Mac的原因还是chrome的原因,重新打开的时候,以为自动保存有效果,心想没关系,结果他么的只保存了四分之一,WTF?!!! ...

  3. css编写注意事项(不定时更新)

    CSS的编写是需要积累的,而一个好的css编写习惯对我们将来的成长是非常有利的,我会把我平时看到的或者遇到的会不定时的更新到这里,不时翻一下,但求有所进步. 如果各位看官也有看法和建议,评论下,我也会 ...

  4. NHibernate教程(11)--多对多关联查询

    本节内容 多对多关系引入 多对多映射关系 多对多关联查询 1.原生SQL关联查询 2.HQL关联查询 3.Criteria API关联查询 结语 多对多关系引入 让我们再次回顾在第二篇中建立的数据模型 ...

  5. PHP初入,(特效的使用)

    <body> <input id="btn1" type="button" value="按钮" /> <in ...

  6. WEB跨域资源共享:Cross-origin Resource Sharing(CORS)

    跨域资源共享(CORS):浏览器同源策略中的同源指协议+域名+端口三者完全一致,其中任何一个不同即为跨域 1. 浏览器同源政策是隔离潜在恶意文件的安全机制,限制信息传递和使用的边界,不是信息的保密机制 ...

  7. 第二次项目冲刺(Beta阶段)5.19

    1.提供当天站立式会议照片一张 会议内容: ①新成员加入,熟悉团队. ②制定新一轮的任务计划. 2.每个人的工作 (1)工作安排 队员 今日进展 明日安排 王婧 #42文件分类改为按个人分类 #42文 ...

  8. 201521145048 《Java程序设计》第3周学习总结

    1. 本章学习总结 学会了对于一个基本类的创建,需要有属性(private public protected),方法( 静态方法 非静态方法),构造函数,main函数,在定义属性时一般使用privat ...

  9. 201521123010 《Java程序设计》第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 常用异常: ①题目5-1 1.1 截图你的提交结果(出现学号) A: 1.2 ...

  10. 《JAVA程序设计》第13周学习总结

    1. 本章学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. GET / HTTP/1.0可以返回一个HTML格式的文本页 IP地址可以用来标识网络上的主机 Socke ...