Exemple #1
0
        public static FTPResult FTPDownload(string path, string fileName)
        {
            var _result = new FTPResult();

            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpAddress + path + "/" + fileName);

            request.Method     = WebRequestMethods.Ftp.DownloadFile;
            request.UsePassive = true;
            request.UseBinary  = true;
            request.KeepAlive  = true;

            request.Credentials = new NetworkCredential(ftpUName, ftpPWord);

            FtpWebResponse response = (FtpWebResponse)request.GetResponse();

            Stream       responseStream = response.GetResponseStream();
            StreamReader reader         = new StreamReader(responseStream);

            using (Stream fileStream = File.Create(fileName))
            {
                responseStream.CopyTo(fileStream);
            }

            reader.Close();
            response.Close();

            using (FtpWebResponse responses = (FtpWebResponse)request.GetResponse())
            {
                _result.Status = responses.StatusCode;
            }

            _result.FileName = fileName;

            return(_result);
        }
Exemple #2
0
        public static FTPResult FTPUpload(string folderName, IEnumerable <IFormFile> file)
        {
            var _result = new FTPResult();

            foreach (var files in file)
            {
                var fileContent = ContentDispositionHeaderValue.Parse(files.ContentDisposition);
                var fileName    = RandomString(6) + "_" + Path.GetFileName(fileContent.FileName.ToString().Trim('"'));

                FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpAddress + "/" + folderName + "/" + fileName);
                request.UseBinary   = true;
                request.Method      = WebRequestMethods.Ftp.UploadFile;
                request.Credentials = new NetworkCredential(ftpUName, ftpPWord);

                byte[] buffer = new byte[500 * 500];
                byte[] arr_ratio;
                Stream strm = files.OpenReadStream();
                using (MemoryStream ms = new MemoryStream())
                {
                    int read;
                    while ((read = strm.Read(buffer, 0, buffer.Length)) > 0)
                    {
                        ms.Write(buffer, 0, read);
                    }
                    arr_ratio = ms.ToArray();
                }
                String b64   = Convert.ToBase64String(arr_ratio);
                string final = "data:" + files.ContentType + ";base64," + b64;
                _result.CustomReturnValue = final;
                _result.ContentType       = files.ContentType;

                using (Stream requestStream = request.GetRequestStream())
                {
                    requestStream.Write(arr_ratio, 0, arr_ratio.Length);
                }

                using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
                {
                    _result.Status = response.StatusCode;
                }

                _result.FileName   = fileName;
                _result.FolderName = folderName;
            }
            return(_result);
        }
Exemple #3
0
        public static FTPResult FTPRemove(string path)
        {
            FTPResult _result = new FTPResult();

            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpAddress + path);

            request.Method      = WebRequestMethods.Ftp.DeleteFile;
            request.Credentials = new NetworkCredential(ftpUName, ftpPWord);

            using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
            {
                _result.Status = response.StatusCode;
                response.Close();
            }

            return(_result);
        }
Exemple #4
0
        public static FTPResult FtpCreateFolder(string folderName)
        {
            var _result = new FTPResult();

            try
            {
                FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(ftpAddress + "/" + folderName);
                ftpRequest.Method      = WebRequestMethods.Ftp.MakeDirectory;
                ftpRequest.Credentials = new NetworkCredential(ftpUName, ftpPWord);
                using (var resp = (FtpWebResponse)ftpRequest.GetResponse())
                {
                    _result.Status = resp.StatusCode;
                }
            }
            catch (WebException ex)
            {
                FtpWebResponse response = (FtpWebResponse)ex.Response;
                _result.Status = response.StatusCode;
            }

            return(_result);
        }