文档章节

Uploadify 3.2上传文件,限制类型,大小,传递参数等

深圳大道
 深圳大道
发布于 2016/12/29 15:37
字数 601
阅读 9
收藏 0
<%@ 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);
	}
}

本文转载自:http://blog.csdn.net/smartsmile2012/article/details/51862724

深圳大道
粉丝 3
博文 877
码字总数 0
作品 0
深圳
架构师
私信 提问
强大的jquery上传插件SWF版Uploadify参数详解

强大的jquery上传插件SWF版Uploadify参数详解 说到Uploadify,不用说网络上很多人都在用,这可是个非常强大的上传插件,但遗憾的是的其html5版是收费的,5刀,需要的可以去其官方网站下载。屌...

u010246789
2016/09/23
0
0
上传插件uploadify文档粗略解读

uploadify文档粗略解读 官方下载地址:http://www.uploadify.com/demos/ 文档阅读: 一般性建议: 执行uploadify使用uploadify方法自定义服务器端上传脚本上传时使用session 1.属性 属性有2...

oneboi
2016/12/02
67
0
struts2+uploadify 上传3G以上的大文件 报IO ERROR错误,请求支援

jsp: $(document).ready(function(){ var msg = document.getElementById("msg").value; if(msg != ""){ alert(msg); window.location.href="<%=basePath%>video/main.do"; } //$("#upload......

Maloon
2014/01/10
1K
8
JQuery上传插件Uploadify使用详解及错误处理

上面的代码就简单实现了上传的功能,依靠函数uploadify实现,uploadify函数的参数为json格式,可以对json对象的key值的修改来进行自定义的设置,如multi设置为true或false来控制是否可以进行...

商者
2016/07/15
65
0
jquery的uploadify插件多文件上传配置参数详解

最近做了个多文件上传,需要限制上传文件类型的例子。以前没做过找了一些资料,下次有用。同时也给大家做参考。 uploader: uploadify.swf 文件的相对路径,该swf文件是一个带有文字BROWSE的...

again-Y
2013/06/07
3.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

新建作业20191011121223

2.编写一个程序,发出一声警报,然后打印下面的文本: Startled by the sudden sound,Sally shouted,"By the Great Pumpkin,what was that!" #include<stdio.h>int main(){printf("\a");......

电子197朱妍
32分钟前
4
0
家庭作业——苗钰婷

2 编写一个程序,发出一声警报,然后打印下面的文本: Startled by the sudden sound, Sally shouted, "By the Great Pumpkin, what was that! #include<stdio.h>int main(){......

OSC_Okruuv
53分钟前
8
0
经典系统设计面试题解析:如何设计TinyURL(一)

原文链接: https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
54分钟前
8
0
2.面向对象设计原则(7条)

开闭原则 开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 实现方法 可以通过“抽象约束、封装变化”来实...

Eappo_Geng
56分钟前
12
0
8086汇编基础 debug P命令 一步完成loop循环

    IDE : Masm for Windows 集成实验环境 2015     OS : Windows 10 x64 typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   ......

志成就
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部