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.ContentLength.ToString();
}
else
{ }
} /// <summary>
/// RemvFile will remove the currently selected file from the listbox.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void RemvFile_Click(object sender, System.EventArgs e)
{
if (ListBox1.Items.Count != 0)
{ hif.RemoveAt(ListBox1.SelectedIndex);
ListBox1.Items.Remove(ListBox1.SelectedItem.Text);
} } /// <summary>
/// Upload_ServerClick is the server side script that will upload the files to the web server
/// by looping through the files in the listbox.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void Upload_ServerClick(object sender, System.EventArgs e)
{
string baseLocation = Server.MapPath("/upload/");
string status = ""; if ((ListBox1.Items.Count == 0) && (filesUploaded == 0))
{
Label1.Text = "Error - a file name must be specified.";
return; }
else
{
foreach (System.Web.UI.HtmlControls.HtmlInputFile HIF in hif)
{
try
{
string fn = System.IO.Path.GetFileName(HIF.PostedFile.FileName);
HIF.PostedFile.SaveAs(baseLocation + fn);
filesUploaded++;
status += fn + "<br>";
}
catch (Exception err)
{
Label1.Text = "Error saving file " + baseLocation + "<br>" + err.ToString();
}
} if (filesUploaded == hif.Count)
{
Label1.Text = "These " + filesUploaded + " file(s) were uploaded:<br>" + status;
}
hif.Clear();
ListBox1.Items.Clear();
} }
csharp: Gets a files formatted size.的更多相关文章
- e.target.files[0]层层剖析
因为我现在拿到的一个功能是上传时过滤掉很大尺寸的图片,所以需要来拿到上传时选择图片的size,所以有了这篇博文 不多说 上代码 $('input').change(function(e){ 1️⃣.c ...
- 在使用document.getElementById('xxx').files[0]时,关于计算图片大小
在使用文件上传属性时,一直好奇图片上传的大小时如何计算的,最近在使用中认识到的计算方式: 首先,图片大小的存储基本单位是字节(byte).每个字节是由8个比特(bit)组成.所以,一个字节在十进制中 ...
- Upload Files In ASP.NET Core 1.0 (Form POST And JQuery Ajax)
Uploading files is a common requirement in web applications. In ASP.NET Core 1.0 uploading files and ...
- 7zip File: How to Uncompress 7z files on Ubuntu, Debian, Fedora
转:http://www.thegeekstuff.com/2010/04/7z-7zip-7za-file-compression/ Question: How do I uncompress a ...
- $('xx')[0].files[0]
①首先得明白jQuery对象只能使用jQuery对象的属性和方法,JavaScript对象只能使用JavaScript对象的属性和方法: ②files[0]是JavaScript的属性: ③$('xx ...
- Java性能提示(全)
http://www.onjava.com/pub/a/onjava/2001/05/30/optimization.htmlComparing the performance of LinkedLi ...
- [Hive - LanguageManual] Statistics in Hive
Statistics in Hive Statistics in Hive Motivation Scope Table and Partition Statistics Column Statist ...
- Hadoop集群-HDFS集群中大数据运维常用的命令总结
Hadoop集群-HDFS集群中大数据运维常用的命令总结 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客会简单涉及到滚动编辑,融合镜像文件,目录的空间配额等运维操作简介.话 ...
- YASM User Manual
This document is the user manual for the Yasm assembler. It is intended as both an introduction and ...
随机推荐
- day 08 课后作业
# -*- coding: utf-8 -*-# @Time : 2018/12/27 17:27# @Author : Endless-cloud# @Site : # @File : day 8课 ...
- javascript举例介绍事件委托的典型使用场景
在了解什么是DOM事件以及给DOM事件绑定监听器的几种方法后,我们来谈谈事件委托. 1. e.target 和 e.currentTarget 当我们给目标元素target 绑定一个事件监听器targ ...
- jenkins运行Python
法一: 配置中构建执行Windows批处理命令如下 立即构建后,报错如下,提示python 不是内部或外部指令 修改Windows批处理指令如下: 再次“立即构建”则正常 法二: 安装Python插件 ...
- npm install 报错:ERR! code EINTEGRITY 解决方案
npm升级后,npm install 报错了,报错信息:ERR! code EINTEGRITY到处百度搜索解决方案,终于找到了!“npm cache verify”这条命令帮助了不少人 npm ca ...
- 关于window.onload和body onload冲突的解决办法
在学习用js在 页面中动态显示当前时间 和依次读取公告栏信息的 实验中 发现在将两个页面整合时 window.onload=function (){}和 <body onload="d ...
- 服务器端控件同html控件的区别
●ASP.NET中共有几种类型的控件? 三种:1-asp.net控件(动态) 2-标准的html控件(静态) 3-标准的html控件加runat="server"属性(动态) 动态 ...
- PHP在 win7 64位 旗舰版 报错 Call to undefined function curl_init()
代码在ubuntu下无缝运行OK 转到我的win7 64位 期间 学习机上 报错: Call to undefined function curl_init() 因为用到curl 远程抓取数据. 所以 ...
- javac文件系统
1.文件 Java编译器在编译的过程中会涉及到对各种文件的搜索和查找,例如在文件夹下搜索.java源在压缩包*.jar内搜索.class文件,同时也会将编译生成的二进制文件写入文件.Java编译器有自 ...
- 数据库~Mysql派生表注意的几点~关于百万数据的慢查询问题
基础概念 派生表是从SELECT语句返回的虚拟表.派生表类似于临时表,但是在SELECT语句中使用派生表比临时表简单得多,因为它不需要创建临时表的步骤. 术语:*派生表*和子查询通常可互换使用.当SE ...
- linux mint 18.2 install postgresql
https://www.postgresql.org/download/linux/ubuntu/ 1 check Xenial16.04 2 创建文件 /etc/apt/sources.list ...