首页 > 后端开发 > C++ > 如何在 C# 中高效地向 FTP 服务器上传和下载文件?

如何在 C# 中高效地向 FTP 服务器上传和下载文件?

Mary-Kate Olsen
发布: 2025-01-11 09:22:40
原创
394 人浏览过

How to Efficiently Upload and Download Files to/from an FTP Server in C#?

C#/.NET中FTP服务器文件的上传和下载

问题1:流式文件上传

为避免在上传前将大型文件加载到内存中,请使用FileStream和Stream.CopyTo直接传输文件。修改后的代码如下:

<code class="language-csharp">using (Stream ftpStream = request.GetRequestStream())
using (Stream fileStream = File.OpenRead(@"/local/path/to/file.zip"))
{
    fileStream.CopyTo(ftpStream);
}</code>
登录后复制

问题2:下载后ZIP文件无效

通过启用request.UsePassive = true,确认FTP服务器是否支持pasv模式(被动模式数据传输)。此外,设置request.UseBinary = true以二进制模式传输文件。修改后的代码如下:

<code class="language-csharp">FtpWebRequest request =
    (FtpWebRequest)WebRequest.Create("ftp://ftp.example.com/remote/path/file.zip");
request.Credentials = new NetworkCredential("username", "password");
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.UsePassive = true;
request.UseBinary = true;

using (Stream ftpStream = request.GetResponse().GetResponseStream())
using (Stream fileStream = File.Create(@"/local/path/to/file.zip"))
{
    ftpStream.CopyTo(fileStream);
}</code>
登录后复制

通过以上修改,您可以成功地向FTP服务器上传和下载文件,确保下载后ZIP文件的完整性。

以上是如何在 C# 中高效地向 FTP 服务器上传和下载文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板