一聚教程网:一个值得你收藏的教程网站

热门教程

ASP.NET上传文件的简单例子

时间:2022-06-25 03:41:13 编辑:袖梨 来源:一聚教程网

例子

 代码如下 复制代码


ASP.NET简单<a href="/tags.php/%CE%C4%BC%FE%C9%CF%B4%AB/" target="_blank">文件上传</a>程序演示








文件上传时可检测文件名称、文件大小和文件类型,暂时没有做上传类型的限制,你可以自己添加类型限制,上面只是一个测试,下面我看一个更详细的文件上传例子

 代码如下 复制代码

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    ///


    /// 上传文件到指定的文件夹
    ///

    ///
    ///
    protected void btnSure_Click(object sender, EventArgs e)
    {
        //string phName = this.txtName.Text;
        //string phType = this.ddlType.SelectedValue;

        if (this.myFile.PostedFile != null)  //myFile是上传控件的名称
        {
            string photoName1 = myFile.PostedFile.FileName; //获取初始文件名
            int i = photoName1.LastIndexOf("."); //取得文件名中最后一个"."的索引
            string newext = photoName1.Substring(i); //获取文件扩展名
            if (newext != ".gif" && newext != ".jpg" && newext != ".jpeg" && newext != ".bmp" && newext != ".png")
            {
                Response.Write("文件格式不正确!");
                Response.End();
            }
            DateTime now = DateTime.Now; //获取系统时间

            string classid = DateTime.Now.Year.ToString();

            //根据年份判断在该路径下是否存在以当年年份文件夹 否则将建立以该年份的文件夹
            if (!Directory.Exists(HttpContext.Current.Server.MapPath("photos/") + "//" + classid))                //HttpContext.Current.Server.MapPath(相对路径):把相对路径转为服务器上的绝对路径。File.Exists(绝对路径):检查是否存在绝对路径指向的文件或目录。
            {
                System.IO.Directory.CreateDirectory(@HttpContext.Current.Server.MapPath("photos/") + "//" + classid);              //System.IO.Directory.CreateDirectory(文件夹绝对路径):建立绝对路径文件夹。
            }
            string photoName2 = now.Millisecond.ToString() + "_" + myFile.PostedFile.ContentLength.ToString() + newext; //重新为文件命名,时间毫秒部分+文件大小+扩展名
            myFile.PostedFile.SaveAs(Server.MapPath("photos//"+classid+"//" + photoName2)); // 保存文件到路径,用Server.MapPath()取当前文件的绝对目录.在asp.net里"/"必须用"//"代替
        }

    }
    ///


    /// 这是一个button控件指定在某目录下创建文件夹的示例,可供参考按照年月或不同的人上传在不同的文件夹里
    ///

    ///
    ///
    protected void btnCreateBag_Click(object sender, EventArgs e)
    {
        string classid = DateTime.Now.Year.ToString();
        if (!Directory.Exists(HttpContext.Current.Server.MapPath("photos/") + "//" + classid))                //HttpContext.Current.Server.MapPath(相对路径):把相对路径转为服务器上的绝对路径。File.Exists(绝对路径):检查是否存在绝对路径指向的文件或目录。
        {
            System.IO.Directory.CreateDirectory(@HttpContext.Current.Server.MapPath("photos/") + "//" + classid);              //System.IO.Directory.CreateDirectory(文件夹绝对路径):建立绝对路径文件夹。

        }
        else
        {
            Response.Write("");
        }

    }
}

热门栏目