今天一個案子經常用到上傳單文件的東西,就找點代碼拼了一個ascx控件
寫的不好:)
前臺頁面直接調用isUploaded(string path ,string filename)就可以了
獲取的參數如下代碼
主要form裏要加入 enctype部分
<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>
{
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;
}
}
}
}