zoukankan      html  css  js  c++  java
  • ASP.NET中的FileUpload文件上传控件的使用

    本篇文章教大家如何将客户端的图片或者文件上传到服务器:

    无论是上传图片(.jpg .png .gif等等) 文档(word excel ppt 等等)。

    第一步:放入以下三个控件 Image控件,FileUpload控件,和一个Button控件。

    <asp:Image ID="imgPhoto" ImageUrl="~/images/Users/noperson.jpg" style="border:1px" alt="photo" width="105px" height="118px"   runat="server" />
    <asp:FileUpload  ID="fileUpload" runat="server" BorderWidth="0" Width="51px" /> 
    <asp:Button Text="上传" ID="btnUpload" runat="server" onclick="btnUpload_Click" />

     

    第二步:上传指定格式的文件或者图片。

     1)首先我们写一个方法来检查上传文件的格式,这里我们用上传图片来举例。

       在此方法中,为防止文件重名,我们对所有的文件在上传之前都进行重命名后在进行保存。

        /// <summary>
            /// 检查上传图片的格式
            /// </summary>
            /// <param name="fileName"></param>
            /// <returns></returns>
            protected string CheckFileName(string fileName)
            {
                //返回指定路径文件的扩展名 并转换成小写
                string fileType = Path.GetExtension(fileName).ToLower();
    
                //判断文件的后缀名
                if (fileType == ".jpg" || fileType == ".jpeg" || fileType == ".png" || fileType == ".gif")
                {
                    //返回指定路径不具有扩展名的文件名
                    string oldName = Path.GetFileNameWithoutExtension(fileName);
                    //使用时间来重新命名图片 为了避免重名
                    string newName = DateTime.Now.ToFileTime() + fileType;
                    return newName;
                }
                else
                {
                    return null;
                } 
            }

     2) 上传按钮 Button 的 OnClick 事件。

    /// <summary>
            /// 上传按钮事件
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void btnUpload_Click(object sender, EventArgs e)
            {
                //检查是否选中文件
                if (fileUpload.HasFile)
                {
                    //获取上传的路径
                    string fileName = fileUpload.FileName;
    
                    //截取上传文件的后缀名
                    int position = fileName.LastIndexOf("\");//截取.的位置
                    string splitName = fileName.Substring(position + 1);//截取后缀
                    string newPath = CheckFileName(splitName);//判断后缀名是否合法并赋予新的文件名
    
                    if (!String.IsNullOrEmpty(newPath))
                    {
                        //获取服务器的虚拟路径
                        string path = Server.MapPath("images/"+ newPath);
                        //将图片保存到指定文件夹 
                        fileUpload.PostedFile.SaveAs(path);
                        
                    }
                } 
            }

    如果想上传其他的文件,可在CheckFileName方法中的进行扩展。 

  • 相关阅读:
    一道C#基础题,看你能多长时间做出来?
    终于能在这里安家了
    你知道返回多少吗?(使用Math类)
    关于implicit和explicit关键词的用法
    关于基类与派生类的学习
    js控制输入框
    Oracle 动态SQL返回单条结果和结果集 转帖
    定时器:.NET Framework类库中的Timer类比较(转帖)
    UVA10020 Minimal coverage
    UVA1388 Graveyard
  • 原文地址:https://www.cnblogs.com/tonge/p/FileUpload.html
Copyright © 2011-2022 走看看