问题复现:
今天在利用ftp保存文件的时候,发现如果想将某个文件保存到尚不存在的文件目录下时,程序会创建目录,但在目录下看不到对应文件。
思考可能出现的原因:
1.FTP没有执行保存文件的程序
2.FTP保存了,但是保存的路径不对
排查:
根据假设排查,定位到程序所在位置,结合FTP的log,发现已经执行了文件保存。原因1排除。
结合日志中显示的:
stor的时候没有文件路径,猜测是不是保存到了根目录下面。去根目录下面一查,果然发现在那里。
解决:
因为ftp保存的逻辑是:如果文件夹存在,直接保存;如果文件夹不存在,则创建该文件夹然后保存。
结合程序发现,创建新文件夹后,没有进入该文件夹。(注:ftp的语法就是保存的时候不需要路径,如果有路径,需要提前用cwd的方法进入该文件夹,然后再保存。)
反思:
1.其实文件保存到根目录下的情况之前有发现过,但是没有在意,还以为是啥灵异事情。事实上没有灵异事件,还是程序的问题。
2.单个函数的测试用例不够全面,没有将这个bug测出来。