记录下来,我不是这个要求的粉丝!
有一个要求,即允许项目通过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();
}
}
}
}