FTP在C#传输过程中更改PGP文件 [英] FTP Changing PGP File During Transfer in C#

查看:111
本文介绍了FTP在C#传输过程中更改PGP文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些经过验证为有效的PGP文件,但是在FTP上传过程中的某些时候,它们已损坏.检索后,我收到一条错误消息,指出在这些文件中未找到PGP信息."

I have PGP files that I've verified as being valid, but at some point during the FTP upload, they become corrupt. When retrieved, I get an error message stating "Found no PGP information in these file(s)."

关于它的价值,PGP是6.5.8版,但我认为这并不重要,因为文件在上传之前似乎还不错.

For what it's worth, the PGP is version 6.5.8, but I think that this is unimportant, as the files seem alright before they're uploaded.

我的文件传输代码如下,是否缺少我想要的设置或字段?

My code is as follows for the file transfer, is there a setting or field that I've missed?

static void FTPUpload(string file)
    {
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://ftp.itginc.com" + "/" + Path.GetFileName(file));

        request.UseBinary = true;
        request.Method = WebRequestMethods.Ftp.UploadFile;
        request.Credentials = new NetworkCredential(ApplicationSettings["Username"], ApplicationSettings["Password"]);

        StreamReader sr = new StreamReader(file);

        byte[] fileContents = Encoding.UTF8.GetBytes(sr.ReadToEnd());
        sr.Close();

        request.ContentLength = fileContents.Length;

        Stream requestStream = request.GetRequestStream();

        requestStream.Write(fileContents, 0, fileContents.Length);
        requestStream.Close();

        FtpWebResponse resp = (FtpWebResponse)request.GetResponse();

        Console.WriteLine("Upload file complete, status {0}", resp.StatusDescription);

        resp.Close();
        string[] filePaths= Directory.GetFiles(tempPath);
        foreach (string filePath in filePaths) 
            File.Delete(filePath);
    }

感谢您的帮助

推荐答案

Hmmmm尝试不将其读取到字节数组中,而是执行类似的操作

Hmmmm try not reading it into a byte array and instead doing something like this

        using (var reader = File.Open(source, FileMode.Open))
        {
            var ftpStream = request.GetRequestStream();
            reader.CopyTo(ftpStream);
            ftpStream.Close();
        }

这篇关于FTP在C#传输过程中更改PGP文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆