将整个文件读入WINFORMS中的字节数组

时间:2011-10-21 12:37:10

标签: c# stream

我想阅读使用文件对话框打开的文件内容,然后将其保存在字节数组中以将其传递给Web服务

        Stream myStream;
        OpenFileDialog saveFileDialog1 = new OpenFileDialog();

        saveFileDialog1.Filter = "zip files (*.zip)|*.zip|All files (*.*)|*.*";
        saveFileDialog1.FilterIndex = 2;
        saveFileDialog1.RestoreDirectory = true;

        if (saveFileDialog1.ShowDialog() == DialogResult.OK)
        {
            if ((myStream = saveFileDialog1.OpenFile()) != null)
            {

                NSITESERVICE.UploadSoapClient obj = new NSITESERVICE.UploadSoapClient();

                byte[] filebytes =  //what should i pass it over here...

                obj.UploadFile("kamal", "p@ssword", filebytes);

                // Code to write the stream goes here.
                myStream.Close();
            }
        }

我不知道我哪里错了

感谢任何帮助。 Thnaks

2 个答案:

答案 0 :(得分:4)

您没有为filebytes变量分配任何内容,因此您实际上是将null传递给服务。使用File.ReadAllBytes方法读取所有字节并将其传递给Web服务。

答案 1 :(得分:3)

你实际上并没有读出myStream中的字节。

byte[] fileBytes = new byte[myStream.Length];
myStream.Read(fileBytes,0,mystream.Length);

obj.UploadFile(...)