1、aspx页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Upload.aspx.cs" Inherits="ZhanJiang.CatalogManage.Upload" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>文档上传</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table>
            <tr>
                <td>
                    <asp:Button runat="server" Text="上传" ID="UploadButton"
                        OnClick="Upload_Click" />
                </td>
                <td>
                    <asp:Button runat="server" Text="取消"  ID="CancelButton" 
                        onclientclick="window.close();"/>
                </td>
            </tr>
        </table>
    </div>
    <div>
        <table style="height: 10px">
            <tr>
            </tr>
        </table>
    </div>
    <div>
        <table>
            <tr>
                <td>
                    月份:
                </td>
                <td style="width: 100px">
                    <asp:DropDownList runat="server" ID="ddlGKType">
                        <asp:ListItem Value="">-请选择-</asp:ListItem>
                        <asp:ListItem Value="1">1</asp:ListItem>
                        <asp:ListItem Value="2">2</asp:ListItem>
                        <asp:ListItem Value="3">3</asp:ListItem>
                        <asp:ListItem Value="4">4</asp:ListItem>
                        <asp:ListItem Value="5">5</asp:ListItem>
                        <asp:ListItem Value="6">6</asp:ListItem>
                        <asp:ListItem Value="7">7</asp:ListItem>
                        <asp:ListItem Value="8">8</asp:ListItem>
                        <asp:ListItem Value="9">9</asp:ListItem>
                        <asp:ListItem Value="10">10</asp:ListItem>
                        <asp:ListItem Value="11">11</asp:ListItem>
                        <asp:ListItem Value="12">12</asp:ListItem>
                    </asp:DropDownList>
                </td>
                <td>
                    上传文件名:
                </td>
                <td>
                    <input id="InputFile" type="file" runat="server" />
                </td>
                <tr>
            <tr>
                <td>
                    <asp:Label ID="Label1" runat="server" Text="" ></asp:Label>
                </td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>

2、cs文件:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
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.Data.SqlClient;

namespace Upload
{
    public partial class Upload : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //默认月份下拉框为当前月
            DateTime to = DateTime.Now;
            ddlGKType.SelectedValue = to.Month.ToString();
            
        }

        /// <summary>
        /// 检测指定的文件夹是否存在,不存在就创建
        /// </summary>
        /// <param name="docpath">该文件夹的之前的路径,注意一定要带上"/"</param>
        /// <returns></returns>
        public string CheckFile(string docpath)
        {

            //命名一个年度的文件夹
            string folder = DateTime.Now.Year.ToString();

            //判断文件是否存在
            if (!System.IO.Directory.Exists("新建文件夹名/" + folder))
            {
                //自动生成文件夹
                System.IO.Directory.CreateDirectory("新建文件夹名/" + folder);
            }
            //生成后返回文件夹名
            return "新建文件夹名/" + folder;
        }

        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Upload_Click(object sender, System.EventArgs e)
        {
            try
            {
                string sqlStr = ConfigurationManager.ConnectionStrings["连接字符串"].ToString();
                using (SqlConnection sqlcon = new SqlConnection(sqlStr))
                {
                    string uploadName = InputFile.Value;//获取待上传的完整路径,包括文件名
                    //string uploadName = InputFile.PostedFile.FileName;
                    System.IO.FileInfo fi = new System.IO.FileInfo(uploadName);
                    string upTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//上传时间
                    int upYear = Convert.ToInt32(DateTime.Now.Year.ToString());//获取年度
                    string upMonth = ddlGKType.SelectedValue.ToString();//获取上传月份
                    string name = fi.Name;//获取名称
                    string type = fi.Extension;//获取类型                    
                    if (type == ".txt" || type == ".doc" || type == ".docx" || type == ".xlsx" || type == ".pdf")
                    {                        
                        string ID = Guid.NewGuid().ToString();
                        string docName = "";//上传后的文件名
                        if (InputFile.Value != "")
                        {
                            int idx = uploadName.LastIndexOf(".");
                            string suffix = uploadName.Substring(idx);//获得上传后缀名 
                            docName = ID + name;//以ID加上传文件名作为保存文件名,防止重复 
                        }

                        if (uploadName != "")
                        {
                            //string path = Server.MapPath("~\\Doc");//保存到文件夹下
                            string path1 = "新建文件夹名/";
                            path1 = CheckFile(path1) + "/" + docName;//完整路径
                            InputFile.PostedFile.SaveAs(Server.MapPath("~/" + path1));//保存路径
                            string sql = "insert into 表名(字段1 , 字段2 , 字段3 , 字段4 , 字段5) values('" + ID + "','" + upYear + "','" + upMonth + "','" + name + "','" + upTime + "')";
                            SqlCommand cmd = new SqlCommand(sql, sqlcon);
                            sqlcon.Open();
                            cmd.ExecuteNonQuery();
                            this.Label1.Text = "上传成功!";
                        }
                    }
                    else
                    {
                        this.Label1.Text = "请上传正确的文件格式";
                    }
                }
            }
            catch (Exception ex)
            {
                Response.Write(ex);
            }

        }

        
    }
}

  

  

posted on 2016-04-01 09:42  来一瓶三鹿  阅读(136)  评论(0编辑  收藏  举报