Bagikan melalui


Fungsi FtpGetFileA (wininet.h)

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

Sintaks

BOOL FtpGetFileA(
  [in] HINTERNET hConnect,
  [in] LPCSTR    lpszRemoteFile,
  [in] LPCSTR    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 yang dihentikan null yang berisi nama file yang akan diambil.

[in] lpszNewFile

Penunjuk ke string yang dihentikan null 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 fFailIfExistsTRUE 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. Kumpulan 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 Makna
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 Makna
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.

Keterangan

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 fungsi FtpOpenFile dan 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 maupun 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.

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

Catatan

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

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

Lihat juga

Sesi FTP

Fungsi WinINet