Új hozzászólás Aktív témák
-
gyari
csendes tag
Sziasztok az lenne a kérdésem, hogy hogyan tudok ftpre kapcsolódni és fájlt feltölteni windows forms segítségével c++ alatt ? előre is köszi a segítséget
-
gyari
csendes tag
köszi szépen sikerült
és tényleg nem kellett a 3. paraméter és úgy működött -
gyari
csendes tag
és amúgy valahogy kicsit másképp nem lehetne megoldani mert így hogy while van a programban befagyasztja a programot szóval amég tölti fel addig semmit nem tudok csinálni meg így a progressbart se töti csak ha kész teljesen :S
-
gyari
csendes tag
sikerült megoldani background workerrel
csak van egy kis problémám még mindig velefeltölti a fájlt normálisan meg minden csak szeretném megjeleníteni progressbarral is hogy hol tart a feltöltés
background worker:
private: System::Void Fájlfeltöltő_DoWork(System::Object^ sender, System::ComponentModel::DoWorkEventArgs^ e) {
if(feltöltés==1)
{
while (contentLen != 0)
{
_Stream->Write(buff, 0, contentLen);
contentLen = _FileStream->Read(buff, 0, buffLength);
e->Result = contentLen;
}
}
}
private: System::Void Fájlfeltöltő_ProgressChanged(System::Object^ sender, System::ComponentModel::ProgressChangedEventArgs^ e) {
Fájlméret->Text = contentLen.ToString();
this->progressBar1->Value = e->ProgressPercentage;
}
private: System::Void Fájlfeltöltő_Completed(System::Object^ sender, System::ComponentModel::RunWorkerCompletedEventArgs^ e) {
_Stream->Close();
_FileStream->Close();
button6->Enabled = true;
feltöltés=0;
}Fájlfeltöltés:
UploadFileName = L"ftp://ftp.atw.hu/Uploadmusic/"+FájlMegnyitás->SafeFileName;
_FileInfo = gcnew System::IO::FileInfo(Fájlnév->Text);
_FtpWebRequest = safe_cast<System::Net::FtpWebRequest^>(System::Net::FtpWebRequest::Create(gcnew Uri(UploadFileName)));
_FtpWebRequest->Credentials = gcnew System::Net::NetworkCredential(L"****", L"****");
_FtpWebRequest->KeepAlive = false;
_FtpWebRequest->Timeout = 20000;
_FtpWebRequest->Method = System::Net::WebRequestMethods::Ftp::UploadFile;
_FtpWebRequest->UseBinary = true;
_FtpWebRequest->ContentLength = _FileInfo->Length;
buffLength = 20480;
buff = gcnew array<System::Byte>(buffLength);
_FileStream = _FileInfo->OpenRead();
try
{
_Stream = _FtpWebRequest->GetRequestStream();
contentLen = _FileStream->Read(buff, 0, buffLength);
feltöltés = 1;
button6->Enabled = false;
Fájlfeltöltő->RunWorkerAsync();
}
catch (Exception ^ex)
{
MessageBox::Show(ex->Message, "Feltöltési hiba!", MessageBoxButtons::OK, MessageBoxIcon::Error);
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!