• .NET FileUpLoad上传文件


      一.上传扫描件到服务器,自定义创建文件夹(如果存在该文件夹,则无需创建),并判断格式以及文件大小进行保存:

    首先创建一个保存按钮事件:

         protected void btnSave_Click(object sender, EventArgs e)
            {
                try
                {#region    增值税专用发票扫描件 验证
                    if (UploadFile1.PostedFile == null || UploadFile1.PostedFile.ContentLength <= 0)
                    {
                        tools.showMsg("请选择“增值税专用发票”扫描件信息!", true, null);
                        this.UploadFile1.Focus();
                        return;
                    }
                    if (UploadFile1.PostedFile.ContentLength > 250 * 1024)
                    {
                        tools.showMsg("“增值税专用发票”扫描件大于250K,不能上传!", true, null);
                        this.UploadFile1.Focus();
                        return;
                    }
    
                    #endregion
    
                    #region 上传扫描件
    
                    string strErrMsg = "";
                    string conType = this.txtCorpName.Value;        //获取将要存储的文件夹名称
                    bool bl = UploadFile(UploadFile1,conType, out strErrMsg);     //tb_corpName.Text.Trim()
                    if (!bl)
                    { 
                        Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('“增值税专用发票”扫描件上传失败')</script>");  
                        this.UploadFile1.Focus();
                        return;
                    }
                    #endregion 
     
                }
                catch(Exception ex)
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('"+ex.Message+"')</script>");
                }
            }

    调用 UploadFile 方法:

         private bool UploadFile(HtmlInputFile inputfile,string conType, out string strErrMsg)       //传入三个参数:file控件,文件夹名称,错误信息
            {
               
                strErrMsg = "";
                string strUploadFileName = "";
                try
                {
                    if (inputfile.PostedFile != null)
                    {
                        if (inputfile.PostedFile.ContentLength > 0)     //判断是否选中文件
                        { 
                            string strUploadFolder = Server.MapPath("..\UploadAffix\" + conType.ToString());      //获取将要创建的文件夹名称
    
                            if (!Directory.Exists(strUploadFolder))         //判断是否已创建 (如果未创建,则进行创建)
                            {
                                Directory.CreateDirectory(strUploadFolder);     
                            }
    
                            string strExtName = Path.GetExtension(inputfile.PostedFile.FileName);           //判断上传文件的类型
                            if (strExtName.ToUpper() != ".JPG" && strExtName.ToUpper() != ".JPEG")
                            {
                                strErrMsg = "请选择扫描件文件(*.JPG,*.JPEG)!";
                                return false;
                            }
    
                            strUploadFileName = Server.MapPath(@"..");             
                            string strGUID = Guid.NewGuid().ToString("B");              //生成唯一的标识符
                            strUploadFileName += @"UploadAffix" + @"" + conType + @"" + strGUID;
                            strUploadFileName += strExtName;
                            inputfile.PostedFile.SaveAs(strUploadFileName);
    
                            jpgStrPath = "/UploadAffix/" + conType + "/" + strGUID + strExtName;    //获取保存在文件夹下的路径
                            return true;
                        }
                        else
                        {
                            strErrMsg = "请选择要上传的扫描件文件!";
                            return false;
                        }
                    }
                    else
                    {
                        return false;
                    }
                }
                catch (Exception ex)
                {
                    strErrMsg = "上传扫描件文件出现问题:" + ex.Message;
                    return false;
                }
            }

      二.通过FileUploadButton按钮上传文件,实现将文件保存到服务器。

    后台代码:

      protected void FileUploadButton_Click(object sender, EventArgs e)
            {
                bool fileOk = false;
    
                string fileName = this.MyFileUpload.FileName;         //获取上传的文件名
    
                int fileSize = MyFileUpload.PostedFile.ContentLength;                  //获取上传文件大小(25600)
    
                string path = Server.MapPath("~\UploadFiles\");              //指定文件路径,是项目下的一个文件夹;~表示当前网页所在的文件夹
    
                if (MyFileUpload.HasFile)           //判断是否选中文件
                {
                    string fileExtension = System.IO.Path.GetExtension(MyFileUpload.FileName).ToLower();        //得到文件后缀
    
                    string[] allowedExtensions = { ".jpg", ".jpeg" };                   //允许的得到的后缀
    
                    for (int i = 0; i < allowedExtensions.Length; i++)          //看包含的文件是否是被允许的文件的后缀
                    {
                        if (fileExtension == allowedExtensions[i])
                        {
                            fileOk = true;
                        }
                    }
                    if (!fileOk)        //判断格式是否为jpg或jpeg
                    {
                        Response.Write("<script>alert('只能上传jpeg,jpg图象文件!');</script>");
                    }
                    if (fileSize > 256000)              //如果文件大于250K 则提示不能上传
                    {
                        Response.Write("<script>alert('文件最大为250KB!');</script>");
                        return;
                    }
                    if (fileOk)
                    {
                        try
                        {
                            string newName = fileName+DateTime.Now.ToString("yyyyMMddhhmmss");//新文件名
                            MyFileUpload.PostedFile.SaveAs(path + newName);       //文件另存在服务器的指定目录下
                            Response.Write("<script>alert('文件上传成功!');</script>");
                        }
                        catch(Exception ee)
                        { 
                            Response.Write("<script>alert('"+ee.Message+"');</script>");
                        }
                    }
                }
                else {
                    Response.Write("<script>alert('请选择将要上传的文件!');</script>"); 
                }
      
            }

    前台代码:

    <asp:FileUpload ID="MyFileUpload" runat="server" style="303px;"  />
    <asp:Button ID="FileUploadButton" runat="server" Text="上传" OnClick="FileUploadButton_Click" />
  • 相关阅读:
    商贸通帐套隐藏方法
    固定资产打开提示:上年度数据未结转!
    ZOJ 2432 Greatest Common Increasing Subsequence
    POJ 1080 Human Gene Functions
    POJ 1088 滑雪
    POJ 1141 Brackets Sequence
    POJ 1050 To the Max
    HDOJ 1029 Ignatius and the Princess IV
    POJ 2247 Humble Numbers
    HDOJ 1181 变形课
  • 原文地址:https://www.cnblogs.com/swjian/p/6802068.html
Copyright © 2020-2023  润新知