ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 不要让我思考之SWFUpload上传控件

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

原创 Linux操作系统 作者:iDotNetSpace 时间:2010-05-20 17:56:11 0 删除 编辑

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

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

 

SWFUpload初始化
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->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需要使用此控件

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

 

初始化控件
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->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设置如下信息

 

<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><appSettings>
    
<add key="WaterMarkPath" value="请填写图片文件相对路径(以/开头)"/>
appSettings>

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-663249/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: MVC开发简介
下一篇: ADO.Net的批量插入
请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5766532