Cara Upload File Terakhir yang Dimodifikasi **dengan Nama File** dengan FTP - VB - Kode Masih Hilang-

Telah ada EDIT pada judul ini 01:17:45 EST 29/12/13

Selamat pagi,

Saat ini saya sedang mengerjakan solusi agar program mengunggah file yang paling baru diubah di direktori tertentu ke situs penyimpanan online, namun saya mengalami masalah saat menentukan file yang paling baru diubah di direktori.

Saya sama sekali bukan seorang programmer, tapi baru-baru ini saya terinspirasi untuk mempelajari VB Script. Semua artikel terkait yang telah saya ulas mencakup proses tambahan, tetapi sepertinya saya tidak dapat memotong kode agar berhasil menggunakannya, jadi saya berharap seseorang dapat membantu saya.

EDIT* Tidak ada pesan kesalahan tetapi saya tidak tahu bagaimana cara memberitahu program untuk mengunggah file yang paling baru diubah.

Ini adalah pertama kalinya saya memposting di situs ini dan komunitas di sini luar biasa! Di bawah ini adalah kodenya:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim request As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create("FTP://ftp.DRIVEHQ.COM/information.zip"), System.Net.FtpWebRequest)
    request.Credentials = New System.Net.NetworkCredential("username", "password")
    request.Method = System.Net.WebRequestMethods.Ftp.UploadFile

    Dim file() As Byte = System.IO.File.ReadAllBytes("C:\Users\Public\Documents\LAST MODIFIED FILE")

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

Juga ekstensi file yang saya cari adalah .zip. Setiap kontribusi sangat dihargai!


person Devin V.    schedule 27.12.2013    source sumber
comment
Apa masalah atau kesalahan yang Anda dapatkan?   -  person Adam    schedule 27.12.2013
comment
Jika saya menentukan file, programnya berfungsi dengan baik. Saya tidak menerima pesan kesalahan tetapi saya tidak tahu bagaimana cara memberitahu program untuk memilih file yang terakhir diubah di lokasi yang akan diunggah. Ada ide?   -  person Devin V.    schedule 27.12.2013
comment
Sepertinya saya mengabaikan sesuatu yang sangat penting. Saya memerlukan file untuk diunggah dengan nama yang telah ditetapkan, bukan nama yang telah ditentukan sebelumnya yang telah saya tetapkan pada baris di bawah ini:(System.Net.WebRequest.Create("FTP://ftp.DRIVEHQ.COM/information.zip"), System.Net.FtpWebRequest) Adakah ide tentang cara mengatasinya? Setiap saran sangat dihargai!   -  person Devin V.    schedule 29.12.2013
comment
Tambahkan kode yang saya kontribusikan ke bagian atas rutinitas. Kemudian gunakan fi.Name untuk mendapatkan nama file dan menggunakannya saat membuat permintaan ftp.   -  person MarkHoward02    schedule 29.12.2013
comment
Sekali lagi terima kasih atas tanggapan cepat Anda, tetapi saya tidak tahu persis di mana harus meletakkannya. Maaf merepotkan tetapi apakah ada kemungkinan Anda dapat mengedit jawaban yang Anda kirimkan sebelumnya untuk menyertakan fungsi ini. Jika tidak, saya mengerti, tetapi sementara itu saya akan mencobanya.   -  person Devin V.    schedule 29.12.2013
comment
Saya mencoba tadi malam untuk menggabungkan semuanya seperti yang Anda katakan dan sejauh ini tidak berhasil. Saya akan terus mencoba tetapi saya sangat baru dalam semua ini.   -  person Devin V.    schedule 30.12.2013
comment
Saya memperbaruinya. Maaf atas keterlambatannya. Saya sudah tidak menggunakan SO selama beberapa hari. Saya sibuk dengan proyek dan liburan.   -  person MarkHoward02    schedule 03.01.2014
comment
Semuanya baik-baik saja seperti biasanya. Saya sungguh-sungguh berterima kasih atas semua bantuan Anda. Ada peringatan dalam perangkat lunak yang mengatakan Variabel 'fi' digunakan sebelum diberi nilai, Pengecualian referensi nol dapat terjadi saat runtime. Kemudian perangkat lunak mogok di baris Strz.Close() dan pesan terkait mengatakan Koneksi yang mendasarinya ditutup: Terjadi kesalahan yang tidak terduga pada penerimaan. Apakah Anda punya ide tentang cara memperbaikinya?   -  person Devin V.    schedule 04.01.2014
comment
Saya berhasil! Saya memindahkan baris Dim file() As Byte = System.IO.File.ReadAllBytes(FileToUpload) ke atas permintaan redup dan berfungsi dengan baik. Saya mencoba mengedit jawaban Anda untuk menunjukkan perubahan ini tetapi saya tidak dapat menampilkannya dengan benar. Saya tidak bisa cukup berterima kasih kawan, kamu orang baik.   -  person Devin V.    schedule 09.01.2014


Jawaban (1)


Saya baru-baru ini mempelajari navigasi File pada proyek yang mengirimkan file yang dimodifikasi ke Azure.

Coba ini:

Imports System.IO

Dim Folder As String = "C:\User\Public\Documents\"
Dim Files() As String

'Find all zip files in folder
Files = Directory.GetFiles(Folder, "*.zip", SearchOption.AllDirectories)

Dim fi As FileInfo

Dim FileToUpload As String = ""
Dim LastModifiedTime As DateTime = "1/1/1700"
For Each sFile In Files
    fi = New FileInfo(sFile)
    'Find the last mofified zip file
    If fi.LastWriteTimeUTC > LastModifiedTime Then
        LastModifiedTime = fi.LastWriteTimeUTC
        FileToUpload = sFile
    End If
Next

Dim request As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create("FTP://ftp.DRIVEHQ.COM/" & fi.Name), System.Net.FtpWebRequest)
request.Credentials = New System.Net.NetworkCredential("username", "password")
request.Method = System.Net.WebRequestMethods.Ftp.UploadFile

Dim file() As Byte = System.IO.File.ReadAllBytes(FileToUpload)

Dim Strz As System.IO.Stream = request.GetRequestStream()
Strz.Write(file, 0, file.Length)
Strz.Close()
Strz.Dispose()
person MarkHoward02    schedule 27.12.2013
comment
Sepertinya sebagian besar bisa berfungsi, tetapi saya mendapatkan masalah dengan File di baris: Untuk Setiap File Dalam File. Pesan Kesalahan mengatakan: Ekspresi adalah nilai dan oleh karena itu tidak dapat menjadi target penugasan. - person Devin V.; 27.12.2013
comment
Saya mengubahnya menjadi sFile sehingga tidak bertentangan dengan variabel file() Anda yang lain. - person MarkHoward02; 27.12.2013
comment
Saya menjalankan Visual Studio dan berhasil menemukan file dan mengunggahnya. - person MarkHoward02; 27.12.2013
comment
Senang mendengarnya. Kamu juga! Saya juga baru berkontribusi pada StackOverflow. ini sebenarnya menyenangkan dan cara yang bagus untuk menghilangkan kebosanan hari itu. Bisakah Anda menandai jawaban saya sebagai Jawaban jika itu berhasil untuk Anda? - person MarkHoward02; 27.12.2013
comment
Saya mendapatkan pesan kesalahan setelah saya mencoba mengklik tombol yang memulainya: System.IO.DirectoryNotFoundException tidak tertangani Pesan=Tidak dapat menemukan bagian dari jalur 'C:\User\Public\Documents\'. - person Devin V.; 27.12.2013
comment
Masalahnya saya tahu lokasi itu valid jadi agak membingungkan. Aku senang bisa memeriahkan harimu haha. - person Devin V.; 27.12.2013
comment
Coba C:\Users\Public\Documents. Pengguna dengan s - person MarkHoward02; 27.12.2013
comment
Saya juga bekerja di call center jadi saya mohon maaf atas selang waktu. ketika saya mengubahnya ke jalur yang Anda sebutkan, dikatakan Akses ke jalur 'C:\Users\Public\Documents\My Music\' ditolak. Detail lebih lanjut menyebutkan Source=mscorlib, tidak yakin apakah itu membantu. - person Devin V.; 27.12.2013
comment
Jadi saya mengujinya dengan folder di desktop saya dan berfungsi dengan sempurna! Anda pendamping pria, semoga akhir pekan Anda menyenangkan. - person Devin V.; 27.12.2013
comment
Sepertinya saya mengabaikan sesuatu yang sangat penting. Saya memerlukan file untuk diunggah dengan nama yang telah ditetapkan, bukan nama yang telah ditentukan sebelumnya yang telah saya tetapkan pada baris di bawah ini:(System.Net.WebRequest.Create("FTP://ftp.DRIVEHQ.COM/information.zip"), System.Net.FtpWebRequest) Adakah ide tentang cara mengatasinya? Setiap saran sangat dihargai! - person Devin V.; 29.12.2013