Uploadify 3.2上传文件,限制类型,大小,传递参数等
<%@ 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上传文件,限制类型,大小,传递参数等的更多相关文章
- js判断上传文件的类型和大小
//检测文件大小和类型 function fileChange(target){ //检测上传文件的类型 if(!(/(?:jpg|gif|png|jpeg)$/i.test(target.value ...
- MIME类型-服务端验证上传文件的类型
MIME的作用 : 使客户端软件,区分不同种类的数据,例如web浏览器就是通过MIME类型来判断文件是GIF图片,还是可打印的PostScript文件. web服务器使用MIME来说明发送数据的种类, ...
- 在MVC中利用uploadify插件实现上传文件的功能
趁着近段的空闲时间,开发任务不是很重,就一直想把以前在仓促时间里所写的多文件上传功能改一下,在网上找了很多例子,觉得uploadify还可以,就想用它来试试.实现自己想要的功能.根据官网的开发文档,同 ...
- CI(2.2) 配置 jquery的上传插件Uploadify(v3.2) 上传文件
1.下载uploadify, 我的是v3.2 2.模板页面引入: <base href='{base_url()}' /> <script type="text/jav ...
- 从零开始学安全(四十)●上传文件MIME类型绕过漏洞防御
MIME检测原理 服务端MIME类型检测是通过检查http包的Content-Type字段中的值来判断上传文件是否合法的. php示例代码: if($_FILES['userfile']['type' ...
- js限制上传文件的类型和大小
var maxsize = 6*1024*1024;//6M var errMsg = "上传的附件文件不能超过6M!!!"; var tipMsg = "您的浏览器暂不 ...
- c#代码发送post请求,上传文件(并带其他参数)
本人对post理解不深,前段时间遇到一个需要用c#代码发送post请求上传文件的业务,于是参考了几篇帖子,加上自身实践写出了如下代码.写的比较low 望各位大大指正^_^. 业务需求: 对方给了一个接 ...
- layui结合SpringMVC上传文件以及携带额外的参数上传文件
今天在使用layui的过程中,遇到了使用其上传文件的模块.自己感觉文件上传还是bootstrapfileinput插件比较好用一些,灵活方便,bootstrapfileinput使用方法参考:http ...
- PHP上传文件限制的大小
修改PHP上传文件大小限制的方法 1. 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止 ...
随机推荐
- HTML语言笔记
html语言即超文本标记语言. 超文本标记语言,标准通用标记语言下的一个应用. "超文本"就是指页面内可以包含图片.链接,甚至音乐.程序等非文字元 ...
- 【java】关于java类和对象,你想知道的在这里!
java类的基本组成 java作为一门面向对象的语言, 类和对象是最重要的概念之一,下面,就让我们来看看java中类的基本结构是怎样的: 一个简单的java类主要可由以下几个部分(要素)组成: 1.实 ...
- 如何设置Cookie 的值为中文的内容
默认情况下,cookie的值是不允许中文内容的.可以借助于java.net.URLEncoder先对中文字符串进行编码,将编码后的结果设为cookie值.当程序要读取cookie值时,先读取,然后使用 ...
- 201521123050 《Java程序设计》第5周学习总结
1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 答:不 ...
- 201521123010 《Java程序设计》第9周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 常用异常: ①题目5-1 1.1 截图你的提交结果(出现学号) A: 1.2 ...
- 201521123036 《Java程序设计》第11周学习总结
本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 书面作业 本次PTA作业题集多线程 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用 ...
- 201521123039 《java程序设计》第九周学习总结
1. 本周学习总结 2. 书面作业 本次PTA作业题集异常 常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? ...
- 201521123018 《Java程序设计》第10周学习总结
1. 本章学习总结 你对于本章知识的学习总结 2. 书面作业 一.inally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? 答: 4-2中 ...
- java 利用反射构造泛型类
1.构造BaseDao泛型类 class BaseDao<T>{ private Class<T> entityClass; // 通过反射获取实际运行的精确类 public ...
- Springboot与Mybatis整合
最近自己用springboot和mybatis做了整合,记录一下: 1.先导入用到的jar包 <dependency> <groupId>org.springframework ...