public FtpResult <Xamarin.Forms.ImageSource> DownloadImage(string fileName) { FtpResult <Xamarin.Forms.ImageSource> result = new FtpResult <Xamarin.Forms.ImageSource>(); result.Status = "Processing"; result.Debug = 0; result.Error = ""; result.Data = null; try { string ftpfullpath = "http://newartsolutions-uqqsvjr7dj8cngkz9pnz.netdna-ssl.com/assets/" + fileName; WebClient wc = new WebClient(); Stream s = new MemoryStream(); byte[] data = wc.DownloadData(ftpfullpath); s.Write(data, 0, data.Length); result.Data = Xamarin.Forms.ImageSource.FromStream(() => { return(s); }); result.Debug = 99; result.Status = "OK"; } catch (Exception ex) { ex.ToString(); result.Status = "ERROR"; result.Error = ex.Message; } return(result); }
private void ConnectResult(FtpResult result) { //if(!result.IsSuccess){ // MsgBox.Alert(result.Msg); //} //执行连接事件 if (OnConnection != null) { OnConnection(this, result); } else { MsgBox.Alert(result.Msg); } }
public async Task <FtpResult> UploadFiles(string filePath, string saveAsName) { var results = new FtpResult { IsSuccessful = false }; var imageServer = await _imageServerRepository.GetActiveImageServer(); if (imageServer == null) { return(results); } // create an FTP client var ftpClient = new FtpClient(imageServer.ServerFtp); // if you don't specify login credentials, we use the "anonymous" user account ftpClient.Credentials = new NetworkCredential(imageServer.UserName, imageServer.Password); // begin connecting to the server ftpClient.Connect(); var fileExtension = new FileInfo(filePath).Extension; try { ftpClient.UploadFile(filePath, "/" + imageServer.Patch + saveAsName + fileExtension, FtpExists.Overwrite, true); } catch (Exception ex) { var er = ex.Message; } results.IsSuccessful = true; results.FileName = saveAsName + fileExtension; results.FullPath = $"{imageServer.ServerUrl}/{imageServer.Patch}{saveAsName}{fileExtension}"; if (imageServer.Id != null) { results.ServerId = imageServer.Id.Value; } ftpClient.Disconnect(); return(results); }
private void btnConnection_Click(object sender, EventArgs e) { if (validFTP.IsValid()) { this.btnConnection.Text = "连接中..."; Application.DoEvents(); FtpResult result = new FtpResult(); try { FtpClient client = new FtpClient( txtAddress.Text.Trim(), txtUid.Text.Trim(), txtPwd.Text.Trim() ); if (!string.IsNullOrEmpty(txtPort.Text)) { client.port = Convert.ToInt32(txtPort.Text.Trim()); } result.IsSuccess = client.Connect(); if (!result.IsSuccess) { result.Msg = string.IsNullOrEmpty(client.errormessage) ? "连接失败" : client.errormessage; } else { result.Msg = "连接成功"; } } catch (Exception ex) { result.IsSuccess = false; result.Msg = "连接失败,错误信息:" + ex.Message; } this.btnConnection.Text = "连接"; ConnectResult(result); } }
public FtpResult <object> UploadFile(Stream image, int documentId) { FtpResult <object> result = new FtpResult <object>(); result.Status = "Processing"; result.Debug = 0; result.Error = ""; try { string ftpUser = "******"; string ftpPassword = "******"; string ftpfullpath = "ftp://ftp.newartzone.uqqsvjr7dj8cngkz9pnz.netdna-cdn.com/documents/" + documentId.ToString() + ".png"; FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(ftpfullpath); result.Debug = 1; ftp.Credentials = new NetworkCredential(ftpUser, ftpPassword); result.Debug = 2; ftp.KeepAlive = true; ftp.UseBinary = true; ftp.Method = WebRequestMethods.Ftp.UploadFile; result.Debug = 3; byte[] buffer = new byte[image.Length]; image.Read(buffer, 0, buffer.Length); result.Debug = 4; image.Close(); result.Debug = 5; Stream ftpstream = ftp.GetRequestStream(); result.Debug = 6; ftpstream.Write(buffer, 0, buffer.Length); result.Debug = 7; ftpstream.Close(); result.Debug = 8; ftpstream.Flush(); result.Debug = 99; result.Status = "OK"; } catch (Exception ex) { ex.ToString(); result.Status = "ERROR"; result.Error = ex.Message; } return(result); }