错误消息:类型的值' System.IO.FileStream'不能转换为Byte'的一维数组。

时间:2014-08-19 19:53:06

标签: vb.net winforms byte

我收到错误:

  

'System.IO.FileStream'类型的值无法转换为   '字节的一维数组'。

我的代码块是:

Dim FileToSign As System.IO.FileStream = GetTestPdfFile(fileName)
Dim SignedFileInfo As New secure.echosign.com.FileInfo()
SignedFileInfo.fileName = fileName
SignedFileInfo.mimeType = Nothing
SignedFileInfo.file = FileToSign

SignedFileInfo.file是字节类型 如何将File转换为byte?

1 个答案:

答案 0 :(得分:1)

如果fileName是PDF文件的名称,并且GetTestPdfFile没有对PDF文件执行任何操作,则可以使用File.ReadAllBytes将文件内容作为字节获取阵列:

SignedFileInfo.file = System.IO.File.ReadAllBytes(fileName)

如果GetTestPdfFile正在执行除返回FileStream之外的其他操作,则需要使用FileStream.Read方法将内容读入字节数组:

Dim pdfLength As Integer = CInt(FileToSign.Length - 1)
Dim pdfBytes(pdfLength) As Byte
If FileToSign.Read(pdfBytes, 0, pdfLength) <> pdfLength Then
    ' Hmm, something's not right
End If
SignedFileInfo.file = pdfBytes

所有代码未经测试,但应该非常接近!