FTP服务器文件操作(上传/下载/删除/创建/获取)

FTP文件上传         /// /// FTP上传文件 /// /// 上传控件 /// 上传文件服务器IP /// 服务器用户名 /// 服务器密码 /// public string Upload(FileUpload fileUpl
摘要由CSDN通过智能技术生成

FTP文件上传        

        /// <summary>
        /// FTP上传文件
        /// </summary>
        /// <param name="fileUpload">上传控件</param>
        /// <param name="ftpServerIP">上传文件服务器IP</param>
        /// <param name="ftpUserID">服务器用户名</param>
        /// <param name="ftpPassword">服务器密码</param>
        /// <returns></returns>
        public  string Upload(FileUpload fileUpload, string ftpServerIP, string ftpUserID, string ftpPassword)
        {
            string filename = fileUpload.FileName;
            string sRet = "上传成功!";
            FileInfo fileInf = new FileInfo(fileUpload.PostedFile.FileName);
            string uri = "ftp://" + ftpServerIP + "/" + filename;
            FtpWebRequest reqFTP;
            // 根据uri创建FtpWebRequest对象 
            reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
            // ftp用户名和密码
            reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
            // 默认为true,连接不会被关闭
            // 在一个命令之后被执行
            reqFTP.KeepAlive = false;
            // 指定执行什么命令
            reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
            // 指定数据传输类型
            reqFTP.UseBinary = true;
            reqFTP.UsePassive = false;
            // 上传文件时通知服务器文件的大小
            reqFTP.ContentLength = fileInf.Length;
            // 缓冲大小设置为2kb
            int buffLength = 2048;
            byte[] buff = new byte[buffLength];
            int contentLen;
            // 打开一个文件流 (System.IO.FileStream) 去读上传的文件
            FileStream fs = fileInf.OpenRead();
            try
            {
                // 把上传的文件写入流
                Stream strm = reqFTP.GetRequestStream();

                // 每次读文件流的2kb
                contentLen = fs.Read(buff, 0, buffLength);

                // 流内容没有结束
                while (contentLen != 0)
                {
                    // 把内容从file stream 写入 upload stream
                    strm.Write(buff, 0, contentLen);

                    contentLen = fs.Read(buff, 0, buffLength);
                }

                // 关闭两个流
                strm.Close();
                fs.Close();
            }
            catch (Exception ex)
            {
                sRet = ex.Message;
            }
            return sRet;
        }

上面只是一个简单的上传,当然上传之前还需要对文件进行验证,例如文件格式或者文件的大小之类的。简单验证请参考 上传图片之上传前判断文件格式与大小

为了防止重名,可以使用全局唯一标示符GUID,生成一个随机序列,在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。当然重复的几率也并不为0,但是非常小了。

/// <summary>
/// 生成全局唯一标示符
/// </summary>
/// <returns></returns>
public string strGUID()
{
    string strguid = Guid.NewGuid().ToString();
    return strguid;
}
调用这个方法,然后将返回的序列跟文件名拼接就可以有效的避免文件重名的情况了。
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 桂林电子科技大学创建FTP服务器是为了进行计算机网络实验。FTP文件传输协议)是一种用于在网络上传文件的协议,它能够实现简单、高效和可靠的文件传输。 在计算机网络实验中,FTP服务器创建可以提供实验所需的数据文件、软件等资源,方便学生们进行实验操作和数据传输。通过搭建FTP服务器,学生们可以在实验室的计算机上通过FTP客户端登录服务器,实现文件上传下载。 此外,桂林电子科技大学创建FTP服务器还能够提供便捷的远程访问服务。学生们可以利用FTP客户端在校外通过互联网连接到FTP服务器,方便地获取实验所需的资料和软件。这样,不论是在校内还是校外,学生们都可以方便地进行实验和学习。 桂林电子科技大学创建FTP服务器的过程中,需要考虑服务器的安全性和稳定性。服务器应设置合理的访问权限和认证机制,确保只有授权的用户可以访问服务器并进行上传下载操作。此外,服务器应具备良好的稳定性和可靠性,以保证学生们在实验过程中不会因服务器故障而受到影响。 总而言之,桂林电子科技大学通过创建FTP服务器为计算机网络实验提供了便捷的文件传输和远程访问服务。这样的服务不仅方便了学生们的实验学习,也为他们提供了更广阔的学习空间和学习资源。 ### 回答2: 桂林电子科技大学创建FTP服务器是为了在计算机网络实验中提供一个安全、高效的文件传输和共享平台。 FTPFile Transfer Protocol)是一种用于在计算机网络上进行文件传输的标准协议。它通过建立客户端和服务器之间的连接,实现文件上传下载删除以及目录的创建和修改等功能。创建FTP服务器可以提供快速、稳定的文件传输服务,方便学生和教师在实验中共享和交相关实验数据、文档和代码等。 首先,创建FTP服务器可以提供安全的文件传输环境。通过设置账号和密码登录验证机制,只有经过授权的用户才能访问服务器中的文件。同时,可以使用SSL/TLS等加密协议确保数据传输的机密性和可靠性,避免数据被窃听和篡改。 其次,创建FTP服务器可以提高文件传输效率。FTP支持并行传输,即多个文件可以同时上传下载,提高了传输速度。而且,FTP服务器支持断点续传功能,即在传输过程中断开连接后,可以从断点处继续传输,避免重新传输文件,节省时间和带宽资源。 此外,创建FTP服务器还可以方便地管理文件和目录。可以创建不同的用户账号和权限,实现对不同文件的访问控制。可以创建各种目录,便于组织、分类文件,使文件的查找和管理更加方便。 总而言之,桂林电子科技大学创建FTP服务器是为了提供一个安全、高效的文件传输和共享平台,方便实验中的学生和教师进行数据交文件管理。同时,通过FTP服务器创建和使用,使得计算机网络实验的进行更加便捷和高效。 ### 回答3: 桂林电子科技大学创建ftp服务器是为了进行计算机网络实验。FTP服务器File Transfer Protocol)是一种用于在计算机网络上进行文件传输的协议,通过FTP服务器,用户可以通过网络传输文件,实现文件上传下载。 在计算机网络实验中,创建FTP服务器具有以下作用和意义: 1. 文件传输:FTP服务器可以提供一个可靠的文件传输平台,使实验室的师生可以通过网络传输实验数据和文件,方便实验结果的收集和保存。 2. 实验数据共享:通过FTP服务器,实验室的师生可以共享实验数据和文件,方便教师和学生之间的交和合作。教师可以将教学资料和实验指导文件上传FTP服务器供学生下载,学生也可以将实验报告和数据上传到服务器与教师及其他同学分享。 3. 远程访问:创建FTP服务器使得实验室的师生能够通过网络远程访问服务器上的文件,无需亲自前往实验室进行操作。这对于一些需要频繁访问实验数据的实验室师生来说十分便利。 4. 数据备份与恢复:FTP服务器可以作为实验室数据的备份平台,及时备份实验数据和文件,保证数据的安全性和完整性。当实验室发生数据丢失或损坏时,可以通过FTP服务器上的备份文件进行数据恢复。 总之,桂林电子科技大学创建FTP服务器为实验室的师生提供了一个高效、便捷和安全的文件传输平台,在计算机网络实验中起到了重要的作用。通过FTP服务器的应用,实验室师生能够更好地进行实验数据的管理、共享和备份,提高了实验教学的效率和质量。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值