delphi7 用delphi实现文件的FTP批量传递有没有比较好的办法在传递的时候讲所有提交的文件重命名?

用delphi中的FTP控件实现FTP传输,服务器是用的G6,传输的文件是jpg图像文件,可以实现在传输的时候将文件名重命名吗?如何实现?请给出具体思路和主要需要应用的控件和方法或函数
我目前的想法是在传输过程开始之前在客户端进行改名后传输的过程,但是通过新开发出来的需求来看,由于我传输的都是照片,而且都比较大,平均下来一张照片有8兆左右,如果要实现之后的功能,那么我需要将一张照片传输到两个地方,一个通过FTP将原始文件改名后传输到FTP服务器所在的文件夹位置,另外一个是将照片压缩成100来KB的一个文件传到数据库里面,所以这一个这一个客户端的功能应该是要包含压缩照片、名称变更、FTP定点传输、照片数据库传输这几个功能,这些可以一起实现不?

FTP分为两端:服务器端+客户端。如果用delphi编程,既可以两者都可以自己编写,也可以服务器端用现在的软件,客户端自己写代码。

从你的问题来看,传输的时候将文件名重命名,据我的理解,传输的过程中是无法更名的,可以考虑在传输开始前、结束后进行重命名。

比如:

如果是下载数据,当数据下载前或下载后都可以进行文件更名操作。
如果是上传,可以在上传之前就将文件进行更名,更名后再上传。追问

由于字数限制我只能将追问放在问题补充中了,请看补充

追答

据我的理解,如果照片是jpeg等格式,压缩之后的文件大小不会减少多少(因为jpeg本身也是一种压缩),那么通常是减少尺寸做缩略图。

你说的压缩照片、名称变更、FTP定点传输、照片数据库传输,这些都可以实现,FTP与照片压缩等几个功能之间没有什么因果关系,通常只要在下一次文件上传之前完成这些功能就可以了。

追问

这几个功能有具体点的实现方法吗?我需要思路和控件方法。。。,这两天在找资料,找到了图片压缩的方法,但是关于FTP传输的还没有,另外传递到数据库和传递到FTP的进行应该如何设计也没有什么比较优化的方法和思路

追答

FTP控件可以使用indy控件包里的TIdFTP,响应OnWorkBegin、OnWorkEnd事件,具体的用法你可以搜索相关的资料。

传递到数据库应该也没什么难度吧,也就是通常的数据库操作。

温馨提示:答案为网友推荐,仅供参考