2014-10-08 121 views
0

我有一個簡單的程序,可以獲取目錄中的所有文件(jpg圖像)並將它們上傳到我的FTP。上傳FTP時文件名錯誤VB.NET

我的問題是文件名,我無法上傳具有完整路徑+文件名的圖像。

Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load  
    Dim filearray() As String 
    filearray = IO.Directory.GetFiles("C:\ImagesTemp") 
    For Each File In filearray  
     My.Computer.Network.UploadFile(File, "ftp://trololweb.es/ImagenesRedimensionadas", "user", "pass", True, 500, FileIO.UICancelOption.ThrowException) 
     MessageBox.Show(File) 
    Next 
End Sub 

這是給我的文件名錯誤,所以我試着用:

namefile= Path.GetNameFile(filearray(file)) 

但是當我嘗試運行它,而不是給我的文件名,它給了我沒有找到文件異常(它試圖尋找/bin/debug folder中的文件,它與c:\ImagesTemp無關,所以我不知道爲什麼它會這樣做,我以前在ListView中使用它,並且它工作正常)。

接下來,我想它的子串:

namefile=File.Substring(13) 

,但我仍然得到例如:C:\Big_image.jpg代替C:\ImagesTemp\Big_image.jpg,所以另一個文件中未發現異常。

我迷路了,我知道那裏可能有一個愚蠢的錯誤,但我似乎無法找到它。如果你們能向我展示燈光,我會非常感激。

對不起,我的英語不好,謝謝。

UPDATE

確定,所以與在回答中提供的代碼我設法解決的C:在使用子串\一部分。現在的問題是系統文件未找到異常,它仍然在VS的bin/Debug /文件夾中查找圖像(還沒有編譯它)。代碼看起來像這樣:

Dim filearray() As String 
    filearray = IO.Directory.GetFiles("C:\ImagesTemp") 


    For Each f As String In filearray 
     Debug.WriteLine(f) 
     filenom = f.Substring(14) 
     Debug.WriteLine(filenom) 
     My.Computer.Network.UploadFile(filenom, "ftp://web.es/ImagenesRedimensionadas", "user", "pass", True, 500, FileIO.UICancelOption.ThrowException) 
     MessageBox.Show(filenom) 
    Next 

回答

0

對於每個文件在filearray

這是你的問題,文件是一個System.IO類

切換到別的東西像

For Each _file在filearray

...而且因爲這是它的另一個很好的例子,打開選項嚴格

此按預期工作

Dim filearray() As String 
filearray = IO.Directory.GetFiles("C:\Images") 
For Each _f As String In filearray 
    My.Computer.Network.UploadFile(_f, "ftp://trololweb.es/ImagenesRedimensionadas/" & IO.Path.GetFileName(_f), "user", "pass", True, 50, FileIO.UICancelOption.ThrowException) 
    MessageBox.Show(_f) 
Next 
+0

謝謝回覆。我會一直在尋找如何關閉Option Strict,並學習如何解決它。但是,與此同時,我嘗試了您的代碼和子字符串,但是我仍然獲得C:\ imagename.jpg而不是隻有imagename.jpg。 – 2014-10-08 13:06:38

+0

我更新了代碼,我忘了文件名需要添加到FTP服務器。只是嘗試和工作沒有問題。 你在哪一行得到你的異常? – 2014-10-08 13:25:44

+0

哦,完全工作!我正在考慮這個問題,就像我怎麼能告訴用文件路徑來檢索文件名,以便能夠找到它並且同時沒有路徑,這樣我就可以得到正確的名稱。非常感謝你 !試圖upvote你,但似乎我太多這個新的成員。你做了我的一天,謝謝。 – 2014-10-08 14:00:54