【asp.net】单文件上传的用户控件

来源:互联网 发布:js 设置焦点到input 编辑:程序博客网 时间:2024/04/29 23:36

 

今天一个案子经常用到上传单文件的东西,就找点代码拼了一个ascx控件

写的不好:)

前台页面直接调用isUploaded(string path ,string filename)就可以了

获取的参数如下代码

主要form里要加入 enctype部分

<form id="Form1" method="post" enctype="multipart/form-data" runat="server">

 

<%@ Control Language="c#" AutoEventWireup="false" Codebehind="EPMUpload.ascx.cs" Inherits="WebApplication1.EPMUpload" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
<FONT face="宋体"></FONT><INPUT style="Z-INDEX: 101; LEFT: 160px; POSITION: absolute; TOP: 72px" type="file" name="File">
<asp:Button id="btnUpload" style="Z-INDEX: 102; LEFT: 312px; POSITION: absolute; TOP: 128px"
    runat
="server" Text="上传"></asp:Button>
namespace WebApplication1
{
    
using System;
    
using System.Data;
    
using System.Drawing;
    
using System.Web;
    
using System.Web.UI.WebControls;
    
using System.Web.UI.HtmlControls;

    
/// <summary>
    
///        EPMUpload 的摘要说明。
    
/// </summary>

    public class EPMUpload : System.Web.UI.UserControl
    
{
        
protected System.Web.UI.WebControls.Button btnUpload;
        

        
        
string _myFileType = string.Empty;
        
string _myFileAddress = string.Empty;
        
string _myFileName = string.Empty;
        
string _myNewFileName = string.Empty;
        
string _myExtendFile = string.Empty;
        
string _myFilePath = string.Empty;
        
bool _result = false;

        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
// 在此处放置用户代码以初始化页面
//            if (IsPostBack)
//            {
//                if(isUploaded(_myFilePath,_myNewFileName))
//                {
//                    _result = true;
//                }
//            }
        }


        
Web 窗体设计器生成的代码

        
private void btnUpload_Click(object sender, System.EventArgs e)
        
{
//            if (isUploaded())
//            {
//                Response.Write("<script>alert('upload ok')</script>");
//            }
        }


        
//上传 功能
        /// <summary>
        
/// 上传函数
        
/// </summary>
        
/// <param name="path">路径</param>
        
/// <param name="filename">新文件名</param>
        
/// <returns></returns>

        public bool isUploaded(string path ,string filename)
        
{
            
///'遍历File表单元素
            HttpFileCollection myFiles = HttpContext.Current.Request.Files;
            
//            HttpFileCollection files  = HttpContext.Current.Request.Files;
            
//字符串
            
//            System.Text.StringBuilder strBuild = new System.Text.StringBuilder();

            HttpPostedFile postedFile 
= myFiles[0];
            
            
//上传文件的类型
            _myFileType = postedFile.ContentType.ToString();
            
//上传文件的客户端地址
            _myFileAddress = postedFile.FileName.ToString();
            
//上传文件的文件名
            _myFileName = System.IO.Path.GetFileName(postedFile.FileName);
            
//上传文件的扩展名
            _myExtendFile = System.IO.Path.GetExtension(postedFile.FileName);

            
//上传文件
            postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath(path) + filename + _myExtendFile);
            
            
return true;
        }


        
//参数
        /// <summary>
        
/// 文件类型
        
/// </summary>

        public string myFileType
        
{
            
get
            

                
return _myFileType;
            }

            
set 
            
{
                _myFileType 
= value;
            }

        }


        
/// <summary>
        
/// 文件上传客户端地址
        
/// </summary>

        public string myFileAddress
        
{
            
get
            

                
return _myFileAddress;
            }

            
set 
            
{
                _myFileAddress 
= value;
            }

        }


        
/// <summary>
        
/// 上传文件名
        
/// </summary>

        public string myFileName
        
{
            
get
            

                
return _myFileName;
            }

            
set 
            
{
                _myFileName 
= value;
            }

        }


        
/// <summary>
        
/// 上传服务器上的新文件名
        
/// </summary>

        public string myNewFileName
        
{
            
get
            

                
return _myNewFileName;
            }

            
set 
            
{
                _myNewFileName 
= value;
            }

        }


        
/// <summary>
        
/// 上传文件扩展名
        
/// </summary>

        public string myExtendFile
        
{
            
get
            

                
return _myExtendFile;
            }

            
set 
            
{
                _myExtendFile 
= value;
            }

        }


        
/// <summary>
        
/// 文件上传虚拟路径
        
/// </summary>

        public string myFilePath
        
{
            
get
            

                
return _myFilePath;
            }

            
set 
            
{
                _myFilePath 
= value;
            }

        }


        
/// <summary>
        
/// 返回值
        
/// </summary>

        public bool myUploadResult
        
{
            
get
            

                
return _result;
            }

            
set 
            
{
                _result 
= value;
            }

        }


        
    }

}