ASP.NET批量上传文件组件(三)

二、上传组件的使用

1、到阡陌创想网站www.kingmoo.net下载全套源代码(毫无保留吐血中......)。解压后放到任意目录下面。

2、在VS2008 中利用网站模式打开文件目录。

 

1-5

Bin目录:下面存放着Ext.Direct.dll,主要是提供客户端和服务器端的Ajax数据交互。无需改动。

css目录:存放的文件都是样式表,如果对组件外观、配色不满意打开default.css或ext-SwfUploadPanel.css自己改动吧。

images目录:存放着和CSS关联的图标文件,无需改动。

js 目录:存放这整个控件的源代码,打开后可以任意改动实现控件的深度定制。

lib 目录:存放着swfupload v2.5官方的js库文件和Extjs v3.1的官方库文件,请勿改动,即便确需改动应采用继承或扩展方式在另外的自定义js文件中进行。

upload 目录:上传文件的存放目录,可在UploadHandler.ashx中更改。

string uploadPath = context.Server.MapPath(context.Request.ApplicationPath + "/upload");

Default.aspx文件:Demo文件,演示了如何调用SwfUpload-Ext控件。

Global.asax文件:全局事件处理文件,主要负责在上传时处理Session、Cookie,此文件需和SwfUpload紧密配合,请勿改动。

SwfHandler.ashx文件:direct数据交互服务器端文件。

UploadHandler.ashx文件:上传时服务器端事件处理文件。该文件把上传文件写到指定位置,并将状态返回到客户端。

Web.config文件:网站配置文件,此文件中与控件相关内容如下:

<location path="UploadHandler.ashx">

<system.web>

<httpRuntime maxRequestLength="50000" executionTimeout="300" />

system.web>

location>

其作用在于指定上传文件大小和上传文件时服务器端事件处理文件。

3、控件的使用

在VS2008 中利用网站模式打开文件目录,直接运行无需配置,即可看到效果。如果在你的项目中要使用此控件,则把控件web.config中的几行代码加入到项目的web.config内容,同时也把控件Global.asax中的内容复制到你项目的Global.asax中,如果你的项目没有Global.asax,则整个文件复制过去就可以了。最后把css、images、lib、js复制到项目中,不要忘记建立上传文件存放的目录啊!

上述配置完成以后可以在你的web中使用了。使用的时候应该引用相应的js 和 css文件:

<head runat="server">

< type="text/javascript" src="lib/ext-base-debug.js">

< type="text/javascript" src="lib/ext-all-debug.js">

< type="text/javascript" src="lib/ext-lang-zh_CN.js" >

< type="text/javascript" src="lib/swfupload.js" charset="gb2312" >

< type="text/javascript" src="lib/handlers.js" charset="gb2312" >

< type="text/javascript" src="SwfHandler.ashx">

< type="text/javascript" src="js/SwfUpload-Ext.js" >

head>

“靠!也太复杂了吧”,估计很多熟悉.NET的程序员要骂街了。是的,这和拖曳.NET控件相比是复杂很多了,但是不要忘记,我们做的是全AJAX的应用,而且前端是全JS代码,这是潮流也是趋势啊。

终于可以调用控件了:

<script type="text/javascript">

Ext.onReady(function()

{

var win = new Ext.Window({

title: '多文件上传示例',

width: 500,

height: 500,

resizable: false,

layout: 'fit',

items: [

{

xtype: 'swfupload-ext',

//服务程序设置

upload_url: "UploadHandler.ashx",

post_params: {

"ASPSESSID": ""

},

//上传文件设置

file_size_limit: "40 MB",

file_types: "*.*",

file_types_description: "All Files",

file_upload_limit: 0, // Zero means unlimited

// 按钮设置

button_image_url: "images/swfupload/icons/button_add.png", //慎重改动

button_placeholder_id: "spanButtonPlaceholder", //慎重改动

button_width: 70, //慎重改动

button_height: 22, //慎重改动

button_text: '', //慎重改动

button_text_style: '.x-buttonSmall { font-size: 14pt;vertical-align;middle; }',//慎重改动

// Flash程序设置

flash_url: "lib/swfupload.swf",

flash9_url: "lib/swfupload_FP9.swf",

debug: false

}]

});

win.show();

});

posted on 2010-03-29 14:20  ynmaoyong  阅读(1021)  评论(0)    收藏  举报

导航