2

varbinary我有一个在 db中类型的图像。

在 BO 层,它被声明为Byte[].

    public Byte[] Image
    {
         get { return p_image; }
         set { p_image = value; }
    }

为了在 BO 层分配它的值,我使用了

objBO.Image = FileUploadControl.FileContent

它抛出错误

不将 System.IO.Stream 转换为 Byte[]

任何人都可以帮助选择FileUploadControl可以转换为的参数Byte[]吗?

4

2 回答 2

3

使用FileUpload.FileBytes属性Byte[]FileUploadControl

获取使用FileUpload控件指定的文件中的字节数组 。

FileUpload fileUpload = new FileUpload();
Byte[] fileBytes = fileUpload.FileBytes;

FileUpload 控件不会自动从客户端读取文件。您必须明确提供一种控制或机制以允许用户提交指定的文件。例如,您可以提供一个按钮,用户可以单击该按钮来上传文件。您为保存指定文件而编写的代码可以调用 FileBytes 属性,该属性返回文件的内容。

于 2013-05-23T05:11:27.673 回答
1

而不是FileUploadControl.FileContent你必须使用FileUploadControl.FileBytes

Filecontent为您提供流,因此要么将流转换为字节,要么直接使用FileBytes

于 2013-05-23T05:18:03.500 回答