我想做的是将XML文档保存为流,对其进行修改,然后将文件保存在ftp上。但是在文件末尾执行完所有这些步骤之后,我得到了诸如trash浸敶获潩㵮ㄢ之类的垃圾字符...问题出在哪里?

XmlDocument xmlD = (XmlDocument)xmlDocument.Clone();
byte[] fileContents = Encoding.Default.GetBytes(xmlD.OuterXml);
//ftpWReqUpload - FtpWebRequest to upload file
Stream requestStream = ftpWReqUpload.GetRequestStream();
xmlD.Save(requestStream);
ftpWReqUpload.ContentLength = fileContents.Length;
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();

最佳答案

据我所知,您上载了两次文档。首先,对流进行xmlD.Save(),它将以原始编码保存文档,然后使用系统默认编码编写从同一文档获得的字节数组。我怀疑如果您只是做类似的事情;

XmlDocument xmlD = xmlDocument as XmlDocument;
Stream requestStream = ftpWReqUpload.GetRequestStream();
xmlD.Save(requestStream);
requestStream.Close();


它会工作。

编辑:我看到@dasblinkenlight在问题的注释中添加了指向一些工作代码的链接,您可能想看看一下以了解如何处理响应。

关于c# - 将文件上传到ftp会在该文件的末尾添加不需要的(垃圾)字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9926040/

10-11 08:07