【asp.net】單文件上傳的用戶控件

 

今天一個案子經常用到上傳單文件的東西,就找點代碼拼了一個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;
            }

        }


        
    }

}

發佈了42 篇原創文章 · 獲贊 3 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章