.NET FileUpLoad上传文件

简介:   一.上传扫描件到服务器,自定义创建文件夹(如果存在该文件夹,则无需创建),并判断格式以及文件大小进行保存:首先创建一个保存按钮事件:     protected void btnSave_Click(object sender, EventArgs e) { ...

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

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

     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="width:303px;"  />
<asp:Button ID="FileUploadButton" runat="server" Text="上传" OnClick="FileUploadButton_Click" />

 

目录
相关文章
|
6月前
|
JSON C# 数据格式
.net core 上传文件到本地服务器
## 1、本文是上传文件到本地服务器,主要以作者做的业务上传apk为例子,下面直接上代码 ```csharp [HttpGet, HttpPost, HttpOptions] [Consumes("application/json", "multipart/form-data")] public IActionResult UploadFileToServer([FromForm] IFormCollection file) { try { IFormFile item = null; if(file.IsNull() || file.Count
61 0
|
前端开发
.NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
.NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
372 0
.NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
|
.NET C# 开发框架
ASP.NET上传文件的三种基本方法
 ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法。 方法一:用Web控件FileUpload,上传到网站根目录。
1373 0
|
C# 开发工具
NET CORE 七牛云上传文件
NET CORE 七牛云上传文件 文档:https://developer.qiniu.com/kodo/sdk/1237/csharp
499 0
 NET CORE 七牛云上传文件
|
Web App开发
一起谈.NET技术,使用SharePoint 2007 Web Service上传文件到文档库
  SharePoint 2010中有了全新的客户端模型,给我们在客户端操作SharePoint对象提供了很大的方便,但是在SharePoint 2007中我们可以使用的方式就比较有限,Web Service是我们最常用的一种方式,SharePoint本身提供了很多web Service,比如Lists.asmx如下图:   我们下面就接触sharepoint提供的web service来实现上传文件。
873 0
|
Web App开发
使用“.NET研究”SharePoint 2007 Web Service上传文件到文档库
  SharePoint 2010中有了全新的客户端模型,给我们在客户端操作SharePoint对象提供了很大的方便,但是在SharePoint 2007中我们可以使用的方式就比较有限,Web Service是我们最常用的一种方式,SharePoint本身提供了很多web Service,比如Lists.asmx如下图:   我们下面就接触sharepoint提供的web service来实现上传文件。
1055 0
|
.NET 开发框架 数据安全/隐私保护