私はFTPサーバーにファイルをアップロードする小さなアプリケーションを開発中です。コードを見直しましたが、問題を特定できません。 'System::Net::WebRequestMethods::Ftp'
:式Cとして、この種の不正使用:ここでのコードは、それは、Visual Cでの2つのエラー++ 2010 Expressの、FTPサーバーへのアップロード
エラー1つのエラーC2275与え、
#include "stdafx.h" using namespace System; #include "iostream" #include <conio.h> using namespace System; void UploadFiles(String ^_FileName, String ^_UploadPath, String ^_FTPUser, String ^_FTPPass); int main() { // Upload file using FTP UploadFiles("c:\\test.html", "ftp://playbabe.tk/public_html/test.html", "xxxxxx", "xxxxxx"); return 0; } void UploadFiles(System::String ^_FileName, System::String ^_UploadPath, System::String ^_FTPUser, System::String ^_FTPPass) { System::IO::FileInfo ^_FileInfo = gcnew System::IO::FileInfo(_FileName); // Create FtpWebRequest object from the Uri provided System::Net::FtpWebRequest ^_FtpWebRequest = safe_cast<System::Net::FtpWebRequest^>(System::Net::FtpWebRequest::Create(gcnew Uri(_UploadPath))); // Provide the WebPermission Credintials _FtpWebRequest->Credentials = gcnew System::Net::NetworkCredential(_FTPUser, _FTPPass); // By default KeepAlive is true, where the control connection is not closed // after a command is executed. _FtpWebRequest->KeepAlive = false; // set timeout for 20 seconds _FtpWebRequest->Timeout = 20000; // Specify the command to be executed. _FtpWebRequest->Method =System::Net::WebRequestMethods::Ftp.UploadFile; // Specify the data transfer type. _FtpWebRequest->UseBinary = true; // Notify the server about the size of the uploaded file _FtpWebRequest->ContentLength = _FileInfo->Length; // The buffer size is set to 2kb int buffLength = 2048; array<System::Byte> ^buff = gcnew array<System::Byte>(buffLength); // Opens a file stream (System.IO.FileStream) to read the file to be uploaded System::IO::FileStream ^_FileStream = _FileInfo->OpenRead(); try { // Stream to which the file to be upload is written System::IO::Stream ^_Stream = _FtpWebRequest->GetRequestStream(); // Read from the file stream 2kb at a time int contentLen = _FileStream->Read(buff, 0, buffLength); // Till Stream content ends while (contentLen != 0) { // Write Content from the file stream to the FTP Upload Stream _Stream->Write(buff, 0, contentLen); contentLen = _FileStream->Read(buff, 0, buffLength); } // Close the file stream and the Request Stream _Stream->Close(); delete _Stream; _FileStream->Close(); delete _FileStream; } catch (Exception ^ex) { //MessageBox::Show(ex->Message, "Upload Error", MessageBoxButtons::OK, MessageBoxIcon::Error); std::cout<<"error"; } getch(); }
あるユーザーが私を\ \を\ドキュメント\ Visual Studio 2010 \ Projects \ test1 \ test1 \ test1.cpp 70
エラー2エラーC2228:
'.UploadFile'
の左にクラス/構造体/共用体C:\ Users \ Me \ documents \ visual Studio 2010 \ Projects \が必要です。 test1 \ test1 \ test1.cpp 70
私はここで何がうまくいかないのか分かりません。
とりわけ、インデント。 –
これはC++コードではありません。 –
よろしくお願いいたします。編集に感謝します。それは純粋にC++ではないが、私の大学では一般的にC++なので....(助けてください) –