gpt4 book ai didi

c# - ASP.NET C# 通过 FTPwebRequest 问题上传 MemoryStream 内容

转载 作者:行者123 更新时间:2023-11-30 22:50:30 25 4
gpt4 key购买 nike

这应该非常简单,并且可以上传。但是当我在 FTP 服务器上打开上传的文件时,它显示二进制数据,这只是一些看起来像 [][][][] 的奇怪字符,并且它的文件大小正确。如何添加表明此文件是 XML 的属性或 header ?

    public bool ProcessBatch(MemoryStream memStream)
{
bool result = true;
FTPaddress = DistributionResources.ftpServer;
CompleteFTPPath = DistributionResources.ftpPath;

request = (FtpWebRequest)FtpWebRequest.Create(FTPaddress + CompleteFTPPath);
request.Credentials = new NetworkCredential("username", "password");
request.Method = WebRequestMethods.Ftp.UploadFile;
request.UsePassive = true;
request.UseBinary = true;
request.KeepAlive = false;

try
{

byte[] buffer = new byte[memStream.Length];

memStream.Read(buffer, 0, buffer.Length);
memStream.Close();

using (Stream reqStream = request.GetRequestStream())
{
reqStream.Write(buffer, 0, buffer.Length);
}

//Gets the FtpWebResponse of the uploading operation
response = (FtpWebResponse)request.GetResponse();
Console.WriteLine(response.StatusDescription); //Display response

}
catch(Exception ex)
{
result = false;
}

return result;
}

非常感谢

最佳答案

尽量不要使用 request.UseBinary = true

换句话说,使用request.UseBinary = false。否则它会将内容作为二进制数据上传,这可能就是您看到它以这种方式显示在服务器上的原因。

例如,如果您在 Windows 中使用命令行 FTP 客户端,则必须在 put 文本文件之前显式键入 ascii。同样的原则可能适用于此。

关于c# - ASP.NET C# 通过 FTPwebRequest 问题上传 MemoryStream 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/542709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com