不要让我思考之SWFUpload上传控件(续)

来源:互联网 发布:淘宝信用贷款怎么查看 编辑:程序博客网 时间:2024/05/29 08:00

现在详细说下使用方法:

下载详细中文帮助文档

 

将SWFUpload初始化代码封装在handlers.js中

主要为了适当简化直接显示在源文件中的代码和为了让同一个页面可以包含多个SWFUpload控件

 

SWFUpload初始化
var swfu;
function SWFLoad(loadSettings) {

    swfu 
= new SWFUpload({
        upload_url: loadSettings.upload_url,
        post_params: loadSettings.post_params,

        file_size_limit: loadSettings.file_size_limit,
        file_types: loadSettings.file_types,
        file_types_description: loadSettings.file_types_description,
        file_upload_limit: loadSettings.file_upload_limit,

        file_queue_error_handler: fileQueueError,
        file_dialog_complete_handler: fileDialogComplete,
        upload_progress_handler: uploadProgress,
        upload_error_handler: uploadError,
        upload_success_handler: uploadSuccess,
        upload_complete_handler: uploadComplete,

        button_action: loadSettings.button_action,
        button_cursor: SWFUpload.CURSOR.HAND,
        button_disabled: loadSettings.button_disabled,
        button_image_url: 
"/swfupload/images/swfupload_uploadBtn.png",
        button_placeholder_id: loadSettings.button_placeholder_id,
        button_width: 
62,
        button_height: 
22,
        button_text_top_padding: 
1,
        button_text_left_padding: 
5,

        flash_url: 
"/swfupload/swf/swfupload.swf",

        custom_settings: loadSettings.custom_settings,
        debug: 
false
    });
}

 

技巧:post_params   设置可在服务器端通过Request.Form获取的参数

 

初次使用时将SWFUpload整个文件夹复制到网站根目录,然后引用SWFUploadAPI.dll

比如Default.aspx需要使用此控件

首先需在后置代码初始化:

 

初始化控件
protected void Page_Load(object sender, EventArgs e)
{
     
//控件一  列表模式
      this.UC_SWFUpload1.swfUploadInfo = new SWFUploadInfo() 
     { 
         UploadMode 
= UpMode.LIST, 
         File_size_limit 
= 300,
        SubmitButtonId
=this.Button1.ClientID 
     };
     
//控件二  单按钮模式
      this.UC_SWFUpload2.swfUploadInfo = new SWFUploadInfo()
     {
         File_types 
= "*.jpg;*.gif",
         File_types_description 
= "图片文件",
         IsSmall 
= true,
         IsWaterMark 
= true,
         SubmitButtonId
=this.Button2.ClientID
     };
}

 

 

 项目中都有每个参数的详细说明

上传后的文件存放路径说明:

上传的任何文件都会存放在b子文件夹中

比如SWFUpload的upload_url初始化参数设置为upload文件夹

那么上传后的文件将存放在upload/b文件夹中

如果上传图片且需要小图,则小图存放在upload/s文件夹中

 

主要功能:

1.单按钮和列表显示模式(UploadMode)

2.一个页面可包含多个控件

3.在web.config配置相关水印图片路径且设置IsWaterMark为true,上传的图片可自动添加水印

4.设置IsSmall为true可生成小图

5.假如Default.aspx有一个提交按钮,服务端ID为btnSubmit,

   如果设置SubmitButtonId=this.btnSubmit.ClientID,

   当上传文件没有结束时,btnSubmit按钮将被禁用,不可点击

   上传完毕或取消上传后btnSubmit将自动回复可用状态

6.假如有User表,photo字段存放用户照片,第一次用户上传了一张照片后,

   当用户修改照片时,控件将先上传新照片然后自动从服务器删除旧照片

7.可设置允许上传的文件类型(File_types):*.*表示所有文件,*.jpg;*.gif;*.bmp表示可上传jpg,gif和bmp文件

   设置后讲自动在弹出的文件选择框中筛选

8.可设置允许上传的文件大小(File_size_limit),如果设置为100则表示100MB,最大支持2G

   (注意:此控件并非完全解决大文件上传,建议上传小于50MB的文件,如需上传大文件,建议了解分块上传)

 

 

如需在上传的图片添加水印,需在Web.config设置如下信息

  

<appSettings>
    
<add key="WaterMarkPath" value="请填写图片文件相对路径(以/开头)"/>
</appSettings>

 

 

 

声明:此控件为测试版本,大家有什么好的意见或建议希望能提出帮助我修改

         最后将制作成自定义控件,谢谢

 

下载SWFUpload源代码