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秒,该脚本就停止 ...
随机推荐
- Prism for Xamarin.Forms
一.使用环境 OS:Win 10 16273 VS:VS2017- 15.3.4 Xamarin:4.6.3.4,nuget:2.4 Android Emulator:Visual Studio fo ...
- Javascript学习日志(三):闭包
说实话,前面一节的原型和原型链在当初学的时候并没有很头疼,对着高级编程第三版撸了几遍就理解透了,闭包这一节真的挺头疼的,很惭愧,看了差不多十来遍吧,还翻看了网上的其他博客和解释文档,五花八门的表达方式 ...
- 为什么说汽车VIN码是汽车唯一的"身份证"
人有身份证,那么车有吗?当然了,汽车也是有"身份证"的,出厂时就会跟着车辆一起出生, 一般在车辆的挡风玻璃处.按照国际SAE国际规定,Vin码由17位字符组成,其中包含了车辆的生产 ...
- 201521123039《java程序设计》第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 2. 书面作业 代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句 ...
- 201521123100 《Java程序设计》 第1周学习总结
1. 本章学习总结 1.简单了解学习了Java及其开发环境,学习使用了Notepad++&eclipse开发软件的使用 2.熟练完成了使用Notepad++运行第一个Java程序"H ...
- java第十二次作业
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...
- 201521123121 《Java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 1.两类传输协议:TCP:UDP TCP/IP协议的名称中只有TCP这个协议名,但是在TCP/IP的传输层 ...
- json:JSONObject与JSONArray的使用
1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...
- ionic 打包安卓包
一.配置环境: 先按照之前的文章,配置好环境需要: 二.安装 1. 这里前提是 需要安装 node (地址: http://nodejs.cn/download/) 命令: node -v // ...
- FTP下载时连接正常获取不到数据
今天项目中要下载快钱的对账单,快钱对账单文件的FTP服务器是Unix系统,connectServer方法中已连接成功,reply code:220. 但是问题是download方法中的ftpClien ...