
示例代码如下:
首先,uses 添加 IdGlobalProtocols。
2
function TForm1GetFileSizeStr(fName:string):string;var nSize: Integer;
begin
nSize := FileSizeByName(fName);
if nSize > 1073741824 then
Result := FormatFloat('###,##000G', nSize / 1073741824)
else if nSize > 1048576 then
Result := FormatFloat('###,##000M', 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 TForm1Button1Click(Sender: TObject);
begin
ShowMessage('文件大小是: ' + GetFileSizeStr('d:\tablemdb'));
end;
示例截图:
有一种叫jspsmartupload的包用来简化文件上传下载的编写
里面可以获取文件大小
//取得文件
comjspsmartuploadFile myFile = mySmartUploadgetFiles()getFile(0);
//取得文件名
String fileName = myFilegetFileName();
//取得文件大小
int fileSize = myFilegetSize();
这是基于spring架构的上传文件支持多个文件上传,拿到file对象后,直接filesize()就可以获取文件的大小,
if (request instanceof Multipart>
1先用fseek将文件指针移到文件末尾,再用ftell获取文件内指针当前的文件位置。这个位置就是文件大小。
2#include <stdioh>
int main()
{
FILE pf = fopen("F:/1png", "rb");
if (!pf)
return -1;
fseek(pf, 0, SEEK_END); // 移到文件末尾
printf("size = %d\n", ftell(pf));
fclose(pf);
return 0;
}
3运行结果如下
1。GetLength()
不行,貌似它获取的是缓冲区内的数据大小,最大8192字节。
2。Seek()
不行,经他人验证不行,我也就懒得试了。
3。QueryOption()
获取的居然是乱码。
ULONG file_total_size=0;
TCHAR szContentLength[64]={0};
ULONG dwInfoSize = 64;
file->QueryOption(>
以上就是关于delphi 如何获取文件的大小和类型全部的内容,包括:delphi 如何获取文件的大小和类型、java web 如何获得文件上传大小、如何用C语言获取文件的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)