zoukankan      html  css  js  c++  java
  • 上传文件方法

         /// <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("请选择要上传的文件!");
                }
            }
  • 相关阅读:
    Vue-router 报NavigationDuplicated的可能解决方案
    go 数据类型转换
    在vscode 之中使用 GO MOD
    javascript格式化
    Mac node-sass 安装失败“v8::String::Utf8Value”
    Django 使用gunicorn 和 supervisord部署
    关于windows上的账号(权限)切换
    python中的global关键字
    暂时性的小总结
    windwos 安装下kafka的安装使用
  • 原文地址:https://www.cnblogs.com/loushengjie/p/10796302.html
Copyright © 2011-2022 走看看