2014-09-26 2 views
0

Я пытаюсь записать файл TXT на FTP-сайт. код отлично работает с заранее определенным именем, однако в идеале имя файла txt будет указывать на дату и время. поэтому код, который я использую, с ошибкой «argumentexception был необработанным» - незаконные хартии в пути - возможно, поскольку я пытаюсь использовать подстановочный знак для имени файла ..... любые мысли - код, как показано ниже.VB.NET Загрузка на FTP сбой при изменении имени файла

КАК СОЗДАЕТСЯ FILE

Dim filewriter As New System.IO.StreamWriter("C:\file_folder\filename" & "_" & Format(Today(), "yyyymmdd") & "_" & Format(Today(), "hhmmss") & "_ord.txt") 

FTP UPLOAD SECTION - WORKS IS FILE NAME IS EXACT. 

'Open an FTP connection and upload new order file 

Dim request As System.Net.FtpWebRequest = directCast(System.Net.WebRequest.Create("ftp://ftp.FTPADDRESS.com/ed2*"), System.Net.FtpWebRequest) 
request.Credentials = New System.Net.NetworkCredential("USER", "PASS") 
request.Method = System.Net.WebRequestMethods.Ftp.UploadFile 

**********ERROR HAPPENS HERE**************** 

Dim file() As Byte = System.IO.File.ReadAllBytes("C:\file_folder\filename*") 
******************************************* 

Dim strz As System.IO.Stream = request.GetRequestStream() 
strz.Write(file, 0, file.Length) 
strz.Close() 
strz.Dispose() 

ответ

2

Спасибо за руководство, я разобрал это пару месяцев назад, но подумал, что стоит потратить исправление.

Dim request As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create("ftp://ftpaddress" & "_" & Now.ToString("yyyyMMdd_HHmmss") & "_ORD.txt"), System.Net.FtpWebRequest) 
      request.Credentials = New System.Net.NetworkCredential("user", "pass") 
       request.Method = System.Net.WebRequestMethods.Ftp.UploadFile 
       Dim file() As Byte = System.IO.File.ReadAllBytes(order_file) 
       Dim strz As System.IO.Stream = request.GetRequestStream() 
       strz.Write(file, 0, file.Length) 
       strz.Close() 
       strz.Dispose() 
0

Этот метод не будет принимать подстановочных и требует полный путь к файлу, который вы превращающего в массив байт, символ, который вы пытаетесь использовать недействителен.

Можете ли вы сохранить полный путь к файлу в переменной, а затем передать переменную в System.IO.File.ReadAllBytes()?

+0

Это был мой самый последний ход мыслей ..... все еще пытаясь разобраться как же. мышление «Public FILENAME как файл» еще не определило, как назначить файл, созданный переменной. – user3174223

+0

Если вы хотите помочь в определении наилучшего способа структурирования вашего метода, пожалуйста, вы можете объяснить контекст, в котором вам нужно создать и загрузить файл, и я буду рад помочь, насколько смогу. – Mbond65

Смежные вопросы