Bagikan melalui


Fungsi FtpGetFileW (wininet.h)

Mengambil file dari server FTP dan menyimpannya di bawah nama file yang ditentukan, membuat file lokal baru dalam proses.

Sintaksis

BOOL FtpGetFileW(
  [in] HINTERNET hConnect,
  [in] LPCWSTR   lpszRemoteFile,
  [in] LPCWSTR   lpszNewFile,
  [in] BOOL      fFailIfExists,
  [in] DWORD     dwFlagsAndAttributes,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwContext
);

Parameter

[in] hConnect

Menangani ke sesi FTP.

[in] lpszRemoteFile

Penunjuk ke string null-terminated yang berisi nama file yang akan diambil.

[in] lpszNewFile

Penunjuk ke string null-terminated yang berisi nama file yang akan dibuat pada sistem lokal.

[in] fFailIfExists

Menunjukkan apakah fungsi harus dilanjutkan jika file lokal dari nama yang ditentukan sudah ada. Jika fFailIfExists TRUE dan file lokal ada, FtpGetFile gagal.

[in] dwFlagsAndAttributes

Atribut file untuk file baru. Parameter ini dapat berupa kombinasi bendera FILE_ATTRIBUTE_* yang digunakan oleh fungsi CreateFile.

[in] dwFlags

Mengontrol bagaimana fungsi akan menangani unduhan file. Sekumpulan nilai bendera pertama menunjukkan kondisi di mana transfer terjadi. Bendera jenis transfer ini dapat digunakan dalam kombinasi dengan set bendera kedua yang mengontrol penembolokan.

Aplikasi dapat memilih salah satu nilai jenis transfer ini.

Nilai Arti
FTP_TRANSFER_TYPE_ASCII
Mentransfer file menggunakan metode transfer ASCII (Tipe A) FTP. Informasi kontrol dan pemformatan dikonversi ke setara lokal.
FTP_TRANSFER_TYPE_BINARY
Mentransfer file menggunakan metode transfer Gambar (Tipe I) FTP. File ditransfer persis seperti yang ada tanpa perubahan. Ini adalah metode transfer default.
FTP_TRANSFER_TYPE_UNKNOWN
Default ke FTP_TRANSFER_TYPE_BINARY.
INTERNET_FLAG_TRANSFER_ASCII
Mentransfer file sebagai ASCII.
INTERNET_FLAG_TRANSFER_BINARY
Mentransfer file sebagai biner.
 

Bendera berikut menentukan bagaimana penembolokan file ini akan dilakukan. Kombinasi bendera berikut dapat digunakan dengan bendera jenis transfer.

Nilai Arti
INTERNET_FLAG_HYPERLINK
Memaksa pemuatan ulang jika tidak ada waktu Kedaluwarsa dan tidak ada waktu LastModified yang dikembalikan dari server saat menentukan apakah akan memuat ulang item dari jaringan.
INTERNET_FLAG_NEED_FILE
Menyebabkan file sementara dibuat jika file tidak dapat di-cache.
INTERNET_FLAG_RELOAD
Memaksa pengunduhan file, objek, atau daftar direktori yang diminta dari server asal, bukan dari cache.
INTERNET_FLAG_RESYNCHRONIZE
Memuat ulang sumber daya HTTP jika sumber daya telah dimodifikasi sejak terakhir kali diunduh. Semua sumber daya FTP dimuat ulang.

Windows XP dan Windows Server 2003 R2 dan yang lebih lama: sumber daya Gopher juga dimuat ulang.

[in] dwContext

Penunjuk ke variabel yang berisi nilai yang ditentukan aplikasi yang mengaitkan pencarian ini dengan data aplikasi apa pun. Ini hanya digunakan jika aplikasi telah memanggil InternetSetStatusCallback untuk menyiapkan fungsi panggilan balik status.

Mengembalikan nilai

Mengembalikan TRUE jika berhasil, atau FALSE sebaliknya. Untuk mendapatkan pesan kesalahan tertentu, panggil GetLastError.

Komentar

FtpGetFile adalah rutinitas tingkat tinggi yang menangani semua pembukuan dan overhead yang terkait dengan membaca file dari server FTP dan menyimpannya secara lokal. Aplikasi yang hanya perlu mengambil data file atau yang memerlukan kontrol ketat atas transfer file harus menggunakan FtpOpenFile dan fungsi InternetReadFile.

Jika parameter dwFlags menentukan FTP_TRANSFER_TYPE_ASCII, terjemahan data file mengonversi karakter kontrol dan pemformatan menjadi setara lokal. Transfer default adalah mode biner, di mana file diunduh dalam format yang sama seperti yang disimpan di server.

Baik lpszRemoteFile dan lpszNewFile dapat berupa nama file yang sebagian atau sepenuhnya memenuhi syarat relatif terhadap direktori saat ini.

Seperti semua aspek lain dari API WinINet, fungsi ini tidak dapat dipanggil dengan aman dari dalam DllMain atau konstruktor dan destruktor objek global.

Note WinINet tidak mendukung implementasi server. Selain itu, tidak boleh digunakan dari layanan. Untuk implementasi atau layanan server, gunakan Microsoft Windows HTTP Services (WinHTTP).
 

Nota

Header wininet.h mendefinisikan FtpGetFile sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Platform Target Windows
Header wininet.h
Pustaka Wininet.lib
DLL Wininet.dll

Lihat juga

Sesi FTP

Fungsi WinINet