如何使用requeststream.write保留utt-8签名

时间:2018-06-29 10:31:14

标签: c# asp.net .net xml utf-8

我正在使用以下代码通过FTP发送XML文件:

        var request = (FtpWebRequest) WebRequest.Create(destination);

        request.Method = WebRequestMethods.Ftp.UploadFile;

        request.Credentials = new NetworkCredential(UserName, Password);

        byte[] fileContents;

        using (StreamReader sourceStream = new StreamReader(originpath + filename))
        {
            fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
        }

        request.ContentLength = fileContents.Length;

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

这似乎可行,除了原始文件的格式为带有签名的utf-8 ,而目标文件的格式为没有签名

我试图保留utf编码,但似乎丢失了BOM。

我的代码是否有问题-特别是requeststream.write的工作方式是什么?

0 个答案:

没有答案