• 上传文件方法


         /// <summary>上传文件方法
            /// 返回文件名
            /// </summary>
            /// <param name="myFileUpload">上传控件ID</param>
            /// <param name="allowExtensions">允许上传的扩展文件名类型,如:string[] allowExtensions = { ".doc", ".xls", ".ppt", ".jpg", ".gif" };</param>
            /// <param name="maxLength">允许上传的最大大小,以M为单位</param>
            /// <param name="savePath">保存文件的目录,注意是绝对路径,如:Server.MapPath("~/upload/");</param>
            public string Upload(FileUpload myFileUpload, string[] allowExtensions, int maxLength, string savePath)
            {
                // 文件格式是否允许上传
                bool fileAllow = false;
    
                //检查是否有文件案
                if (myFileUpload.HasFile)
                {
                    // 检查文件大小, ContentLength获取的是字节,转成M的时候要除以2次1024
                    if (myFileUpload.PostedFile.ContentLength / 1024 / 1024 >= maxLength)
                    {
                        throw new Exception("只能上传小于" + maxLength + "M的文件!");
                    }
    
                    //取得上传文件之扩展文件名,并转换成小写字母
                    string fileExtension = System.IO.Path.GetExtension(myFileUpload.FileName).ToLower();
                    string tmp = "";   // 存储允许上传的文件后缀名
                    //检查扩展文件名是否符合限定类型
                    for (int i = 0; i < allowExtensions.Length; i++)
                    {
                        tmp += i == allowExtensions.Length - 1 ? allowExtensions[i] : allowExtensions[i] + ",";
                        if (fileExtension == allowExtensions[i])
                        {
                            fileAllow = true;
                        }
                    }
    
                    if (fileAllow)
                    {
                        try
                        {
                            string datedir = DateTime.Now.ToString("yyyyMMdd");
                            if (!Directory.Exists(savePath + datedir))
                            {
                                Directory.CreateDirectory(savePath + datedir);
                            }
                            // string saveName = Guid.NewGuid() + fileExtension;
                            string saveName = Guid.NewGuid() + fileExtension;
                            string path = savePath + datedir + "\" + saveName;
                            //存储文件到文件夹
                            myFileUpload.SaveAs(path);
                            return "FileUploadUrl" + "\" + datedir + "\" + saveName;
                        }
                        catch (Exception ex)
                        {
                            throw new Exception(ex.Message);
                        }
                    }
                    else
                    {
                        return "文件格式不符";
                        // throw new Exception("文件格式不符,可以上传的文件格式为:" + tmp);
                    }
                }
                else
                {
                    throw new Exception("请选择要上传的文件!");
                }
            }
  • 相关阅读:
    多线程上传和下载大文件(当文件服务器对上传文件大小有限制)
    http和https的区别?
    将数据导出到 excel ,然后下载下来
    注解@Transactional(rollbackFor = Exception.class) 的用法
    浅谈 MongoDB
    浅谈负载均衡
    join,left join,inner join,full join的区别?
    Bootstrap如何适配移动浏览器
    常用正则表达式
    js获取节点
  • 原文地址:https://www.cnblogs.com/loushengjie/p/10796302.html
Copyright © 2020-2023  润新知