首页 > 学院 > 开发设计 > 正文

csharp: Gets a files formatted size.

2019-11-17 02:26:11
字体:
来源:转载
供稿:网友

csharp: Gets a files formatted size.

  /*            asp.net 默认上传文件是4M ,可以修改服务配置..            <system.web>           <!-- 指示 ASP.NET 支持的最大文件上载大小。           该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。           指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。最大为:2097151 KB           此处改为40M大小的文件上传限制。           -->           <httPRuntime maxRequestLength = "2097151" useFullyQualifiedRedirectUrl="true"/>           </system.web>            */        /// <summary>        /// Gets a files formatted size.        /// </summary>        /// <param name="file">The file to return size of.</param>        /// <returns></returns>        //public static string GetFileSize(this FileInfo file)        //{        //    try        //    {        //        //determine all file sizes        //        double sizeinbytes = file.Length;        //        double sizeinkbytes = Math.Round((sizeinbytes / 1024));        //        double sizeinmbytes = Math.Round((sizeinkbytes / 1024));        //        double sizeingbytes = Math.Round((sizeinmbytes / 1024));        //        if (sizeingbytes > 1)        //            return string.Format("{0} GB", sizeingbytes); //returns size in gigabytes        //        else if (sizeinmbytes > 1)        //            return string.Format("{0} MB", sizeinmbytes); //returns size in megabytes if less than one gigabyte        //        else if (sizeinkbytes > 1)        //            return string.Format("{0} KB", sizeinkbytes); //returns size in kilabytes if less than one megabyte        //        else        //            return string.Format("{0} B", sizeinbytes); //returns size in bytes if less than one kilabyte        //    }        //    catch { return "Error Getting Size"; } //catches any possible error and just returns error getting size        //}        /// <summary>        /// Gets a files formatted size.        /// 获得文件大小        /// 涂聚文        ///         /// Geovin Du        /// </summary>        /// <param name="file"></param>        /// <returns></returns>        public string GetFileSize(double file)        {            try            {                //1.                double byteSize = Math.Round(file / 1024 * 100) * 0.01;                string suffix = "KB";                if (byteSize > 1000)                {                    byteSize = Math.Round(byteSize * .001 * 100) * .01;                    suffix = "MB";                }                double byteGSize = Math.Round(byteSize / 1024 * 100) * 0.01;                if (byteGSize > 1000)                {                    byteGSize = Math.Round(byteGSize * .001 * 100) * .01;                    suffix = "GB";                }                return byteSize.ToString() + suffix;                //2.                //determine all file sizes                //double sizeinbytes = file;                //double sizeinkbytes = Math.Round((sizeinbytes / 1024));                //double sizeinmbytes = Math.Round((sizeinkbytes / 1024));                //double sizeingbytes = Math.Round((sizeinmbytes / 1024));                //if (sizeingbytes > 1)                //    return string.Format("{0:0.00} GB", sizeingbytes); //returns size in gigabytes                //else if (sizeinmbytes > 1)                //    return string.Format("{0:0.00} MB", sizeinmbytes); //returns size in megabytes if less than one gigabyte                //else if (sizeinkbytes > 1)                //    return string.Format("{0:0.00} KB", sizeinkbytes); //returns size in kilabytes if less than one megabyte                //else                //    return string.Format("{0} B", sizeinbytes); //returns size in bytes if less than one kilabyte            }            catch             {                 return "Error Getting Size";             } //catches any possible error and just returns error getting size        }

  

  /// <summary>        ///         /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        protected void Button1_Click(object sender, EventArgs e)        {            int FileNum = 0;            // Clear the BulletedList.            BulletedList1.Items.Clear();            string filepath = Server.MapPath("./") + "UploadFile";            string filename = DateTime.Now.ToString("yyyyMMddHHmmss");            HttpFileCollection hfc = Request.Files;            //1            for (int i = 0; i < hfc.Count; i++)            {                HttpPostedFile hpf = hfc[i];                if (hfc[i].ContentLength > 0)                {                    hpf.SaveAs(filepath + "/" + filename + System.IO.Path.GetFileName(hpf.FileName));                    FileNum++;                    //uploadFiles.SaveAs(filepath + "/" + filename + System.IO.Path.GetFileName(hpf.FileName));                    FileUpload1.SaveAs(filepath + "/" + filename + System.IO.Path.GetFileName(hpf.FileName));                    FileUpload2.SaveAs(filepath + "/" + filename + System.IO.Path.GetFileName(hpf.FileName));                }                else                {                    Response.Write("<script>alert('请选择你要上传的文件!')</script>");                    //跳出for循环                    i = hfc.Count;                    break;                }            }            Response.Write("<script>alert('上传成功!')</script>");            Response.Write("共上传成功的文件个数为:" + FileNum + "个");            FileNum = 0;            // Check to see if at least one file was specified.            //if (FileUpload1.HasFile | FileUpload2.HasFile)            //{            //    Label1.Text = "The file collection consists of:";            //    // Get the HttpFileCollection.            //    //HttpFileCollection hfc = Request.Files;            //    foreach (String h in hfc.AllKeys)            //    {            //        // Add an item to the BulletedList if a file            //        // was specified for the corresponding control.            //        if (hfc[h].ContentLength > 0)            //        {               //            BulletedList1.Items.Add(Server.HtmlEncode(hfc[h].FileName));            //        }            //    }            //    for (int i = 0; i < hfc.Count; i++)            //    {            //        filename = DateTime.Now.ToString("yyyyMMddHHmmss");            //        HttpPostedFile hpf = hfc[i];            //        hpf.SaveAs(filepath + "/" + filename + System.IO.Path.GetFileName(hpf.FileName));            //    }            //}            //else            //{            //    Label1.Text = "You did not specify any files to upload or "+ hfc.Count.ToString()+            //        "the file(s) could not be found.";            //}        }

  

        /// <summary>        ///         /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        protected void Page_Load(object sender, EventArgs e)        {            this.AddFile.Click += new System.EventHandler(this.AddFile_Click);            this.RemvFile.Click += new System.EventHandler(this.RemvFile_Click);            this.Upload.ServerClick += new System.EventHandler(this.Upload_ServerClick);        }        /// <summary>        /// AddFile will add the path of the client side file that is currently in the PostedFile        /// property of the HttpInputFile control to the listbox.        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void AddFile_Click(object sender, System.EventArgs e)        {            if (Page.IsPostBack == true)            {                hif.Add(FindFile);                double size = FindFile.PostedFile.ContentLength;                string filesize = GetFileSize(size);                ListBox1.Items.Add(FindFile.PostedFile.FileName + "  文件大小:" + filesize);               // FindFile.PostedFile.Conten
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表