VSFTP服務器使用retrieveFileStream返回null的問題

                                                     VSFTP服務器使用retrieveFileStream返回null的問題

 

最近在使用vsftp在文件存儲服務,發現使用retrieveFileStream獲取文件流的時候,怎麼獲取都是空的,網上有說返回inputStream後馬上關閉流就可以了,但是這裏流本身就是空的,關閉肯定報空指針異常,所以排除,有的說先調用ftpClient.getReply(),消掉226的返回,即可,ok,試了一下,可以,但是治標不治本,如果文件本身存在,一切正常,但是如果獲取的文件本身不存在,則這裏就會卡死,直到ftp連接關閉,很噁心,白高興一場,後來試了一下,原來這個接口比較詭異,與其他接口相比,這個接口的參數,不能只是文件名,這個接口的參數,需要是相對於ftp服務器的根目錄的絕對路徑才行。

例子:

ftp服務器的跟目錄:

/usr/local/eduboss/vsftpd

文件在linux上面的文件具體位置:

/usr/local/eduboss/vsftpd/uat-bucket-tmp/111111.jpg

則接口ftpClient.retrieveFileStream(/uat-bucket-tmp/111111.jpg)纔可以獲取到值,否則返回爲null

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章