从Word文档上传图像

时间:2018-12-03 18:36:17

标签: c# asp.net

记录下来,我不是这个要求的粉丝!

有一个要求,即允许项目通过Word文档提交,而不是使用aspx页面(该页面已经存在)。因此,创建了一个Word模板,该模板允许以指定的格式创建项目并提交。

模板包含图像。

具有可读取和解析Word文档中已提交条目(包括图像)的页面。然后,这些条目将填充aspx页面。我不知道该怎么办,就是将图像保存到SQL数据库中。构成Word文档的所有文件都被保存到本地计算机上的temp目录中,因此我知道文件路径,但是无法弄清楚如何为二进制读取器保存它。

下面的代码已修改为对传统提交的问题使用文件上传功能时的工作方式。有些条目只是对占位符信息进行了硬编码,例如第一个流条目中的文件路径。

在获取图像文件方面的任何帮助将不胜感激。

protected void Clone2_Click(object sender, EventArgs e)
        {
            using (Stream Image11 = File.OpenRead(@"C:\VSProjects\CrowdSourcing\cs1\cs1\Temp\636794392003594492_files.image001.jpg"), Image21 = File.OpenRead(Image2Up.ToString()),
                Image31 = File.OpenRead(Image3Up.ToString()), Image41 = File.OpenRead(Image4Up.ToString()),
                Image51 = File.OpenRead(Image5Up.ToString()), Image61 = File.OpenRead(Image6Up.ToString()),
                Image71 = File.OpenRead(Image7Up.ToString()), Image81 = File.OpenRead(Image8Up.ToString()))
            {
                using (BinaryReader br = new BinaryReader(Image11),
                    br2 = new BinaryReader(Image21),
                    br3 = new BinaryReader(Image31),
                    br4 = new BinaryReader(Image41),
                    br5 = new BinaryReader(Image51),
                    br6 = new BinaryReader(Image61),
                    br7 = new BinaryReader(Image71),
                    br8 = new BinaryReader(Image81))

                {
                    byte[] bytes = br.ReadBytes((Int32)Image11.Length);
                    byte[] bytes2 = br2.ReadBytes((Int32)Image21.Length);
                    byte[] bytes3 = br3.ReadBytes((Int32)Image31.Length);
                    byte[] bytes4 = br4.ReadBytes((Int32)Image41.Length);
                    byte[] bytes5 = br5.ReadBytes((Int32)Image51.Length);
                    byte[] bytes6 = br6.ReadBytes((Int32)Image61.Length);
                    byte[] bytes7 = br7.ReadBytes((Int32)Image71.Length);
                    byte[] bytes8 = br8.ReadBytes((Int32)Image81.Length);
                    string constr = ConfigurationManager.ConnectionStrings["CS1"].ConnectionString;
                    using (SqlConnection con = new SqlConnection(constr))
                    {
                        using (SqlCommand cmd = new SqlCommand("dbo.Question_Insert2"))
                        {
                            cmd.CommandType = CommandType.StoredProcedure;
                            cmd.Connection = con;
                            cmd.Parameters.AddWithValue("@Author", txt_Author.Text);

                            cmd.Parameters.AddWithValue("@ImageFile", bytes);
                            cmd.Parameters.AddWithValue("@Image1Content", Image1Type.Text);
                            cmd.Parameters.AddWithValue("@Image1Name", Image1FileName.Text);
                            cmd.Parameters.AddWithValue("@ImageFile2", bytes2);
                            cmd.Parameters.AddWithValue("@Image2Content", Image2Type.Text);
                            cmd.Parameters.AddWithValue("@Image2Name", Image2FileName.Text);
                            cmd.Parameters.AddWithValue("@ImageFile3", bytes3);
                            cmd.Parameters.AddWithValue("@Image3Content", Image3Type.Text);
                            cmd.Parameters.AddWithValue("@Image3Name", Image3FileName.Text);
                            cmd.Parameters.AddWithValue("@ImageFile4", bytes4);
                            cmd.Parameters.AddWithValue("@Image4Content", Image4Type.Text);
                            cmd.Parameters.AddWithValue("@Image4Name", Image4FileName.Text);

                            cmd.Parameters.AddWithValue("@ImageFile5", bytes5);
                            cmd.Parameters.AddWithValue("@Image5Content", Image5Type.Text);
                            cmd.Parameters.AddWithValue("@Image5Name", Image5FileName.Text);
                            cmd.Parameters.AddWithValue("@ImageFile6", bytes6);
                            cmd.Parameters.AddWithValue("@Image6Content", Image6Type.Text);
                            cmd.Parameters.AddWithValue("@Image6Name", Image6FileName.Text);
                            cmd.Parameters.AddWithValue("@ImageFile7", bytes7);
                            cmd.Parameters.AddWithValue("@Image7Content", Image7Type.Text);
                            cmd.Parameters.AddWithValue("@Image7Name", Image7FileName.Text);
                            cmd.Parameters.AddWithValue("@ImageFile8", bytes8);
                            cmd.Parameters.AddWithValue("@Image8Content", Image8Type.Text);
                            cmd.Parameters.AddWithValue("@Image8Name", Image8FileName.Text);

                            cmd.Parameters.AddWithValue("@SubmitDate", "01/01/1901");
                            cmd.Parameters.AddWithValue("@LeadIn", txt_LeadIn.Text);
                            cmd.Parameters.AddWithValue("@Stem", txt_STEM.Text);
                            cmd.Parameters.AddWithValue("@RespA", txt_Dist1.Text);
                            cmd.Parameters.AddWithValue("@RespB", txt_Dist2.Text);
                            cmd.Parameters.AddWithValue("@RespC", txt_Dist3.Text);
                            cmd.Parameters.AddWithValue("@RespD", txt_Dist4.Text);
                            cmd.Parameters.AddWithValue("@RespE", txt_Dist5.Text);
                            cmd.Parameters.AddWithValue("@Answer", DDResponse.SelectedValue);
                            cmd.Parameters.AddWithValue("@Critique", "TBD");
                            cmd.Parameters.AddWithValue("@KeyObjective", "TBD");
                            cmd.Parameters.AddWithValue("@References", "TBD");
                            cmd.Parameters.AddWithValue("@PracticeArea1", "TBD");//DDPractice1.SelectedValue);
                            cmd.Parameters.AddWithValue("@PracticeArea2", "TBD");//DDPractice2.SelectedValue);
                            cmd.Parameters.AddWithValue("@PracticeArea3", "TBD");//DDPractice3.SelectedValue);
                            cmd.Parameters.AddWithValue("@PracticeArea4", "TBD");//DDPractice4.SelectedValue);
                            cmd.Parameters.AddWithValue("@IsCloneOf", '0');
                            cmd.Parameters.AddWithValue("@ImageID", '0');
                            cmd.Parameters.AddWithValue("@QuestionID", '0');
                            cmd.Parameters.AddWithValue("ImageID1", '0');
                            cmd.Parameters.AddWithValue("ImageID2", '0');
                            cmd.Parameters.AddWithValue("ImageID3", '0');
                            cmd.Parameters.AddWithValue("ImageID4", '0');
                            cmd.Parameters.AddWithValue("ImageID5", '0');
                            cmd.Parameters.AddWithValue("ImageID6", '0');
                            cmd.Parameters.AddWithValue("ImageID7", '0');
                            cmd.Parameters.AddWithValue("ImageID8", '0');

                            con.Open();
                            cmd.ExecuteNonQuery();
                            con.Close();
                            con.Dispose();
                        }

                    }
                }
            }

0 个答案:

没有答案