`

SWFupload 上传控件的使用的使用

 
阅读更多

-- 首先说个解决 ie兼容的标签

 <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

 

---aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SWFupload_Demo.aspx.cs"
    Inherits="BookShop.Web.Test.SWFupload_Demo" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    <script src="../SWFupload/swfupload.js" type="text/javascript"></script>
    <script src="../SWFupload/handlers.js" type="text/javascript"></script>
    <script type="text/javascript">
  var swfu;
  window.onload = function () {
   swfu = new SWFUpload({
    // Backend Settings
    upload_url: "/ashx/upload.ashx",//上传处理的文件
                post_params : {
                    "ASPSESSID" : "<%=Session.SessionID %>"//通过post提交的数据
                },

    // File Upload Settings
    file_size_limit : "2 MB",//限制的大小
    file_types : "*.jpg;*.gif",
    file_types_description : "JPG Images",
    file_upload_limit : 0,    // Zero means unlimited

    // Event Handler Settings - these functions as defined in Handlers.js
    //  The handlers are not part of SWFUpload but are part of my website and control how
    //  my website reacts to the SWFUpload events.
    swfupload_preload_handler : preLoad,
    swfupload_load_failed_handler : loadFailed,
    file_queue_error_handler : fileQueueError,
    file_dialog_complete_handler : fileDialogComplete,
    upload_progress_handler : uploadProgress,
    upload_error_handler : uploadError,
    upload_success_handler : ShowMsg,//上传成功调用的事件
    upload_complete_handler : uploadComplete,

    // Button settings
    button_image_url : "/SWFupload/images/XPButtonNoText_160x22.png",
    button_placeholder_id : "spanButtonPlaceholder",//显示按钮的位置
    button_width: 160,
    button_height: 22,
    button_text : '<span class="button">请选择图片<span class="buttonSmall">(2 MB Max)</span></span>',//上传按钮的显示
    button_text_style : '.button { font-family: Helvetica, Arial, sans-serif; font-size: 14pt; } .buttonSmall { font-size: 10pt; }',
    button_text_top_padding: 1,
    button_text_left_padding: 5,

    // Flash Settings
    flash_url : "/SWFupload/swfupload.swf", // Relative to this file
    flash9_url : "/SWFupload/swfupload_FP9.swf", // Relative to this file

    custom_settings : {
     upload_target : "divFileProgressContainer"//显示上传文件和结果
    },

    // Debug Settings
    debug: false
   });
  }
  //在页面上显示上传成功的图片。
  function ShowMsg(file, serverData)
  {//serverData:从服务端返回的数据
     var data=serverData.split(":");
     if(data[0]=="ok"){
        document.getElementById("imgok").src=data[1];
     }
  }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div id="content">
        <div id="swfu_container" style="margin: 0px 10px;">
            <div>
                <span id="spanButtonPlaceholder"></span>
            </div>
            <div id="divFileProgressContainer" style="height: 75px;">
            </div>
        </div>
        <img id="imgok" />
    </div>
    </form>
</body>
</html>

--upload.ashx

 

using System;
using System.Collections;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.IO;

namespace BookShop.Web.ashx
{
    /// <summary>
    /// $codebehindclassname$ 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class upload : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";

            HttpPostedFile  file = context.Request.Files["Filedata"];//获取上传的文件.
            string fileName = Path.GetFileName(file.FileName); //获取文件名称.
            string fileExtion = Path.GetExtension(file.FileName);//获取扩展名.
            if (fileExtion == ".jpg")
            {
                //file.SaveAs(context.Server.MapPath("/FileUp/" + fileName));
                //context.Response.Write("ok:/FileUp/" + fileName);
                string saveDir = "/FileUp/" + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "/";
                Directory.CreateDirectory(Path.GetDirectoryName(context.Server.MapPath(saveDir)));//建立文件夹

                string fullDir = saveDir + Common.Common.GetStreamMD5(file.InputStream) + fileExtion;//将文件进行MD5运算作为新的文件的名称.
                file.SaveAs(context.Server.MapPath(fullDir));
                context.Response.Write("ok:"+fullDir);


            }
            else
            {
                throw new Exception("类型错误!");
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    PHPCMS V9 修改flash上传为H5上传方案,PHPCMS系统swfupload上传控件更换为基于html5的webup

    PHPCMS V9 修改flash上传为H5上传方案,PHPCMS系统swfupload上传控件更换为基于html5的webuploader组件,Phpcms的上传模块是使用swfupload上传插件,具体写法是在控制器phpcms/modoules/attachemet/attachemts.php...

    swfupload上传控件2.5

    **SWFUpload 上传控件 2.5 版本详解** SWFUpload 是一款流行的JavaScript与Flash结合的上传组件,它在Web应用中提供了一种高效、用户体验友好的文件上传解决方案。2.5版本是该控件的一个重要升级,不仅修复了多个...

    jquery+SWFUpload+COS上传组件的使用

    jquery+SWFUpload+COS上传组件的使用 jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件...

    SWFUpload上传控件源码

    做项目往往都需要上传文件...但微软自带的上传控件 往往并不能满足我们的需求 以前一直使用 FileUpload ,客户逐渐提出新的需求,迫使不得不改用新的办法 SWFUpload谁然依赖于flash,但在我看来,还是一个不错的选择

    ExtJs4.0整合Swfupload上传组件

    ExtJs4.0整合Swfupload上传组件是一个常见的前端开发任务,主要涉及到两个技术:Ext Js和Swfupload。这两个工具结合使用,可以为Web应用提供功能强大的文件上传功能,尤其是对于大文件或者多文件上传场景,它们提供...

    SwfUpload上传控件,用java上传大文件,无缝刷新

    SwfUpload是一款强大的JavaScript上传控件,它支持大文件上传并能实现无刷新(Ajax)效果,极大地提升了用户在网页上的文件上传体验。在Java环境中,我们可以利用SwfUpload与后端服务配合,处理文件上传请求,实现...

    swfupload文件上传控件

    **SWFUpload 文件上传控件详解** 在网页开发中,文件上传功能是不可或缺的一部分,而SWFUpload就是一款优秀的文件上传控件。它利用Flash技术,提供了多文件上传和进度显示的功能,使得用户在上传大文件或多个文件时...

    swfupload上传组件应用实例Demo

    以前一直使用ASP.NET自带的FileUpload控件进行上传文件,发现经常出问题. 尽管在web.config文件中设置了maxRequestLength为很大,但还是不能上传大于2M的文件. 所有后来研究了下上传相关知识, 发现swfupload是一个不错...

    swfupload上传控件demo支持上传,删除图片。兼容ie7+,火狐,谷歌浏览器

    标题和描述提到的"swfupload上传控件demo"是一个示例项目,展示了如何在实际应用中集成SwfUpload,实现图片的上传和删除功能,并且兼容IE7及以上版本,以及Firefox和Google Chrome等主流浏览器。 SwfUpload的核心...

    swfUpload上传文件图片(多图片)

    在实际项目中,通过合理的配置和事件处理,可以轻松实现如"swfUpload上传文件图片(多图片)"这样的需求。在使用SwfUpload时,确保正确引入资源、配置参数并处理好上传过程中的各种事件,就能为用户提供一个高效、...

    完美的SwfUpload 上传,显示进度条

    在C# ASP.NET环境中,确保正确处理Multipart/FormData请求是非常重要的,因为这是SwfUpload上传文件所采用的格式。后端代码需要解析这些数据,提取出文件内容并保存到合适的目录下。同时,考虑到安全性,需要对上传...

    SWFUpload上传组件的一个完整的例子,后台由Struts2完成

    SWFUpload上传组件的一个完整的例子,后台由Struts2完成,有上传进度显示,可以多文件上传,如果你想使用SWFUpload组件但还不知道怎样使用,可以下载下来运行一下试试,看一下源码就知道了。

    swfupload上传控件DEMO(ASP.NET)

    SWFUpload是一款经典的JavaScript与Flash结合的文件上传控件,尤其适用于需要批量上传功能的ASP.NET应用程序。在.NET环境中,SWFUpload控件提供了一种高效、用户友好的方式来处理大文件或多文件的上传任务,它允许...

    SWFUpload上传组件 v2.2.0 中文汉化

    SWFUpload是一款强大的上传组件,尤其适用于Web应用程序中实现大文件和批量文件的上传功能。它的v2.2.0版本已经进行了中文汉化,使得国内开发者在使用过程中能够更加方便地理解和操作。这个组件主要依赖Flash技术,...

    文件批量上传组件(Ext3.3和swfupload)

    这里我们讨论的是基于Ext3.3和swfupload技术实现的一个批量上传组件。这两个技术都是在Web开发中处理文件上传问题的重要工具。 首先,Ext3.3是一个基于JavaScript的富客户端框架,它提供了丰富的组件库,可以构建出...

    swfupload多图片上传PHP多图上传组件FLASH+JS

    **SWFUpload 多图片上传组件** SWFUpload 是一个流行的JavaScript和Flash相结合的文件上传组件,它允许用户实现多文件同时上传的功能。这个组件在Web开发中特别有用,因为它可以提供比传统HTML文件输入控件更丰富的...

    SwfUpload上传组件

    SwfUpload上传组件 ,适用于ASP.NET 2.0以上。使用时直接引用DLL。在原版基础上做了改进,增加了设置尺寸、返回原文件文件名的功能.使用方法:1、以自定义控件导入工程;2、将空间拖入制定位置;3、设置尺寸:width...

    swfupload控件实现flash文件上传

    SWFUpload是一款强大的JavaScript与Flash相结合的文件上传控件,它允许用户在浏览器中实现无刷新的多文件上传,提供丰富的上传进度显示和事件回调功能。这个控件最初由Vinterwebb.se开发,旨在超越传统...

    swfupload上传demo示例

    总的来说,"swfupload上传demo示例"提供了一个完整的解决方案,展示了如何在ThinkPHP框架下使用SwfUpload实现多文件上传功能。通过理解SwfUpload的工作原理,结合ThinkPHP的控制器和视图机制,以及恰当的数据库设计...

Global site tag (gtag.js) - Google Analytics