/// <summary> /// 通过ftp上传字节数据到服务器 /// </summary> /// <param name="data">字节数据</param> /// <param name="fileName">存储到服务器的文件名,带后缀</param> /// <param name="callBack">完成回调函数</param> /// <param name="progress">进度改变回调函数</param> public void UploadData(byte[] data, string fileName, WillFtpUploadCallBack callBack, WillFtpUploadProgressChangedEvent proEvent = null) { if (string.IsNullOrEmpty(m_FTPHost) || string.IsNullOrEmpty(m_FTPUserName)) { WDebuger.LogError("未进行初始化,请检查!"); return; } if (string.IsNullOrEmpty(fileName)) { WDebuger.LogError("存储文件名不能为空,请检查! 参数:" + fileName); } m_FTPUploadCallBack = callBack; m_UploadProgressEvent = proEvent; m_UploadDataByteCount = data.Length; m_Progreess = 0; m_WebClient = new WebClient(); m_WebClient.Encoding = Encoding.UTF8; Uri uri = new Uri(m_FTPHost + fileName); m_WebClient.UploadDataCompleted += new UploadDataCompletedEventHandler(OnDataUploadCompleted); m_WebClient.UploadProgressChanged += new UploadProgressChangedEventHandler(OnDataUploadProgressChanged); m_WebClient.Credentials = new NetworkCredential(m_FTPUserName, m_FTPPasswork); m_WebClient.UploadDataAsync(uri, "STOR", data); }
/// <summary> /// 通过ftp上传文件到服务器 /// </summary> /// <param name="filePath">文件路径</param> /// <param name="fileName">存储到服务器的文件名,带后缀</param> /// <param name="callBack">完成回调函数</param> /// <param name="progress">进度改变回调函数</param> public void UploadData(string filePath, string fileName, WillFtpUploadCallBack callBack, WillFtpUploadProgressChangedEvent proEvent = null) { if (string.IsNullOrEmpty(filePath)) { WDebuger.LogError("文件地址为空,请检查! 参数:" + filePath); return; } if (!File.Exists(filePath)) { WDebuger.LogError("找不到文件,请检查! 参数" + filePath); return; } byte[] data = File.ReadAllBytes(filePath); UploadData(data, fileName, callBack, proEvent); }