0

我尝试了这个......但不知道如何继续......我只想将文件放在图片框(picturebox1)中......并将其保存在sql server(2005)中并检索相同的......是否可以在图片框中加载文档...???如果不是,我应该使用什么控件来做同样的事情?

private void btnaddattach1_Click(object sender, EventArgs e)
        {

                OpenFileDialog open = new OpenFileDialog();
                if (btnaddattach1.Text == "ADD")
                {
                    open.Filter = "Images Files(*.jpeg; *.gif; *.jpg; *.bmp; *.docx; *.pdf) | *.jpeg; *.gif; *.jpg; *.bmp; *.docx; *.pdf";
                    if (open.ShowDialog() == DialogResult.OK)
                    {


                        FileInfo finfo = new FileInfo(open.FileName);
                        if (finfo.Length < 2147483647)
                        {
                            byte[] imagearray = new byte[finfo.Length];
                            finfo.OpenRead().Read(imagearray, 0, (int)finfo.Length);
                            string imagedata = Convert.ToBase64String(imagearray);

                        }
                        else
                        {
                            MessageBox.Show("File too Large...", CPublic.messagename, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
4

3 回答 3

2

那是行不通的。您不能仅仅将文档读取为一堆字节并显示它。你需要一个特殊的控件来显示对应的文档类型,比如pdf的acrobat reader ocx控件。不过,您可以通过这种方式将内容保存到数据库中。

于 2013-11-08T05:52:28.590 回答
1

简而言之,你不能回答。根据文档,支持的格式为 BMP、GIF、EXIG、JPG、PNG 和 TIFF。

注意:似乎可以通过 Google 找到许多转换器,这可能会对您有所帮助。你可以试试这个

于 2013-11-08T05:54:54.957 回答
0

您可以创建具有 2 列的数据库表,首先用于文件存储,其次用于其类型(用于文件名或类型) FileStore 列数据类型必须为 VARBINARY(MAX) 并且文件类型将为 varchar

要从数据库中保存和检索文件,您可以查看链接

于 2013-11-08T06:11:10.057 回答