Indy 大文件问题

发现Indy9和Indy10(10.0.52版本)里的IdFTP.Size()返回值的类型都是Integer的,也就是说文件最大不能超过2G,需要进入IdFTP.Pas里修改,

声明的地方:
function Size(const AFileName: String): Integer; //修改Integer-->Int64

实现的地方:
function TIdFTP.Size(const AFileName: String): Integer;  //修改Integer-->Int64
var
  SizeStr: String;
begin
  result := -1;
  if SendCmd(‘SIZE ‘ + AFileName) = 213 then begin  {do not localize}
    SizeStr := Trim(LastCmdResult.Text.Text);
    IdDelete(SizeStr, 1, IndyPos(‘ ‘, SizeStr)); // delete the response   {do not localize}
    result := StrToIntDef(SizeStr, -1);  //修改StrToIntDef-->StrToInt64Def
  end;
end;

同样在把IdFTP.Size()得到的值,赋给你的自定义变量时,也需要Int64类型。这样只要文件不超过{(2的63次方)-1 }都是没问题的。

http://download.csdn.net/detail/yoyo19820622/3982924

时间: 2024-08-22 22:33:47

Indy 大文件问题的相关文章

GitHub限制上传大于100M的单个大文件

工作中遇到这个问题,一些美术资源..unitypackage文件大于100M,Push到GitHub时被拒绝.意思是Push到GitHub的每个文件的大小都要求小于100M. 搜了一下,很多解决办法只是把这些超过100M的大文件从本地版本库中移除,使得Push可以成功.但这并没有解决如何上传大文件到GitHub的问题. 解决办法是使用Git LFS. 用法参考:http://blog.csdn.net/tyro_java/article/details/53440666 按照以上方法设置好后,就

split、rar拆分大文件

split拆分大文件 系统默认自带有 # split -b 2048m aa aa_ -b n[bkm]  b代表512b,k代表1KB,m代表1M 后面aa表示指定文件前缀 结果为:aa_aa aa_ab 合并拆分文件: # cat aa_aa aa_ab > aa rar拆分大文件 # apt-get install rar # rar a -v2048m aa.rar aa 结果为:aa.part1.rar aa.part2.rar 合并并解压: # unrar aa.part1.rar

WebUploader插件上传大文件单文件和多文件JAVA版使用总结

一.使用webuploader插件的原因说明 被现在做的项目坑了. 先说一下我的项目架构Spring+struts2+mybatis+mysql 然后呢.之前说好的按照2G上传就可以了,于是乎,用了ajaxFileUpload插件,因为之前用图片上传也是用这个,所以上传附件的时候就直接拿来用了 各种码代码,测试也测过了,2G文件上传没问题,坑来了,项目上线后,客户又要求上传4G文件,甚至还有20G以上的..纳尼,你不早说哦... 在IE11下用ajaxFileUpload.js插件上传超过4G的

HTML5 大文件上传示例

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML5大文件分片上传</title> <script src="js/spark-md5.min.js" type="text/javascript" charset="utf-8"></script> <

win10 大文件 安卓android studio修改 汉化

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha ========== win10 大文件 gradle-3.3-all 这个里面有 大量重复的, 这应该我们 配置有问题,这些可以复用的. 然而每个项目自己都创建了一个.应该修改一下. ==== 修改 设置 插件 名字 目录 C:\Users\Administrator\.AndroidStudio2.3\config\plugins  修改相应文件 我们 自己下载的插件 会存放到这

解决MOFH免费空间cpanel面板大文件无法解压的情况

解决办法: 解压大文件,重新压缩为tar格式的压缩格式,这样可以更小,而且也可以在cpanel面板解压,记得使用filezilla软件上传文件,在cpanel的网页界面不要刷新,一刷新就不可以解压大文件tar格式了,会提示"Files which are too big can't be downloaded, uploaded, copied, moved, searched, zipped, unzipped, viewed or edited; they can only be renam

下载大文件时OutofMemoryException

有一个大文件下载的问题,这两天查了一下,主要原因有两个: 发送的Get请求中,没有设置HttpCompletionOption这个参数,当下载大文件的时候,会等到response body中的数据全部加载完才开始下载.现在已经改成了HttpCompletionOption.ResponseHeadersRead,这样只要head加载完就可以开始下载 下载的时候使用FileStreamResult File(Stream fileStream, string contentType, string

php使用file函数、fseek函数读取大文件效率分析

php读取大文件可以使用file函数和fseek函数,但是二者之间效率可能存在差异,本文章向大家介绍php file函数与fseek函数实现大文件读取效率对比分析,需要的朋友可以参考一下. 1. 直接采用file函数来操作 由于 file函数是一次性将所有内容读入内存,而PHP为了防止一些写的比较糟糕的程序占用太多的内存而导致系统内存不足,使服务器出现宕机,所以默认情况下限制只能最大使用内存16M,这是通过php.ini里的 memory_limit = 16M 来进行设置,这个值如果设置-1,

Linux培训教程 linux系统下分割大文件的方法

在linux中分割大文件,比如一个5gb日志文件,需要把它分成多个小文件,分割后以利于普通的文本编辑器读取. 有时,需要传输20gb的大文件,Linux培训 教程件到另一台服务器,也需要把它分割成多个文件,这样便于传输数据. 以下通过五个不同的例子,来讲解Linux下分割大文件的方法,供大家参考. 例1.以每个文件1000行分割 split命令分割文件成每个文件1000行,并且文件名依次为 [前缀]aa,[前缀]ab, [前缀]ac等,默认的前缀是X,每个文件的行数为1000行. 命令: 复制代