delphi 如何获取文件的大小和类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 如何获取文件的大小和类型相关的知识,希望对你有一定的参考价值。

当前目录下 有两个文件A.rar(12M) 和 b.txt(900k), 如何获取分别获取两个文件的这四个值:12、 MB 、1022 、 KB
900 kb

示例代码如下:


    首先,uses 添加 IdGlobalProtocols。


   2.  

function TForm1.GetFileSizeStr(fName:string):string;
var nSize: Integer;
begin
  nSize := FileSizeByName(fName);
  if nSize > 1073741824 then
    Result := FormatFloat(\'###,##0.00G\', nSize / 1073741824)
  else if nSize > 1048576 then
    Result := FormatFloat(\'###,##0.00M\', nSize / 1048576)
  else if nSize > 1024 then
    Result := FormatFloat(\'###,##00K\', nSize / 1024)
  else
    Result := FormatFloat(\'###,#0B\', nSize);
  if Length(Result) > 2 then
    if Result[1] = \'0\' then
      Delete(Result, 1, 1);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(\'文件大小是: \' + GetFileSizeStr(\'d:\\table.mdb\'));
end;


示例截图:


参考技术A 1、获取大小请参考这个,http://zhidao.baidu.com/link?url=HQG9G1C5G9gN-TaOHp3OyGnvGROIMBC2ghk06ZAyU7mjNJ5-VVNAzJQJBusPym-GHoDwBvURcUCz3kXxxprvcq

2、所有获得的值都是字节值,要转换为kb,mb单位,需要自己除以1024就是kb,kb再除以1024就是mb
你可以这样
if(filesize>1024)
int kbval = filesize/1024;//单位是kb的值
if(kbval>1024)
int mbval = kbval /1024;//单位是mb

js 如何获取上传文件的大小

不管任何文件我想得到文件是多少KB的,该用什么 方法获得呢?

HTML 中input标签有个类型是file。这个是可以上传文件使用的。你可以直接操作这个标签的size来获取文件的大小。
可通过下面的方式 
html代码:

js代码:
var fileId = "uploadtest";
var dom = document.getElementById(fileId);  
var fileSize =  dom.files[0].size;//文件的大小,单位为字节B
参考技术A 如果是传图片的话,有个fileSize属性,不过不是兼容所有浏览器,其它文件格式就得通过js与其它语言的交互去获得了,这个一般都是通过flash去获得 参考技术B 可通过下面的方式 。

js代码:
var fileId = "uploadtest";
var dom = document.getElementById(fileId);
var fileSize = dom.files[0].size;//文件的大小,单位为字节B。本回答被提问者采纳
参考技术C 不行,现在的浏览器都不允许JS访问本地文件。

以上是关于delphi 如何获取文件的大小和类型的主要内容,如果未能解决你的问题,请参考以下文章

delphi 中运行后窗口会被人为的拉大或者缩小,问题是,如何获取变化后的窗口大小的值?

如何获取当前网页的URL? delphi

如何使用Delphi获取网卡的MAC地址?

Delphi 快速获取文件大小

delphi如何获取DLL所在的目录

delphi中如何比较字符串的大小里面内容都是数字