Почему это-строковые или двоичные данные будут усечены. Оператор был прерван , произошла ошибка
Всем привет,
Я-Суджата.Я собираюсь разработать веб-приложение в том, что хочу сохранить pdf, doc/docs, xls/xlsx и файл изображения в sql server 2008.когда я собираюсь Сохранить Pdf файл, то он дает выше exeption
Что я уже пробовал:
Ниже приведен мой пример кода..
1) Страница дизайна
<asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="btnUpload" runat="server" Text="Upload" onclick="btnUpload_Click" /> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> <asp:Label ID="Label2" runat="server" Text="Enter id"></asp:Label> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="btnRetrive" runat="server" Text="Retrive" Height="31px" onclick="btnRetrive_Click" style="margin-top: 80px" /> <asp:Button ID="btnUpload0" runat="server" Text="PDFUpload" Height="21px" style="margin-top: 64px; margin-bottom: 33px" onclick="btnUpload0_Click" />
2). операция на btnUload_click
protected void btnUpload_Click(object sender, EventArgs e) { string filepath = FileUpload1.PostedFile.FileName; string fileName = Path.GetFileName(filepath); string ext = Path.GetExtension(fileName); string contentType = string.Empty; switch (ext) { case ".doc": contentType = "application/vnd.ms-word"; break; case ".docx": contentType = "application/vnd.ms-word"; break; case ".xls": contentType = "application/vnd.ms-excel"; break; case ".xlsx": contentType = "application/vnd.ms-excel"; break; case ".jpg": contentType = "image/jpg"; break; case ".png": contentType = "image/png"; break; case ".gif": contentType = "image/gif"; break; case ".pdf": contentType = "application/pdf"; break; } if (contentType != string.Empty) { string filename = Path.GetFileName(FileUpload1.PostedFile.FileName); string contenttype = FileUpload1.PostedFile.ContentType; using (Stream fs = FileUpload1.PostedFile.InputStream) { using (BinaryReader br = new BinaryReader(fs)) { byte[] bytes = br.ReadBytes((Int32)fs.Length); //string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString)) ; { string query = "insert into ImageTable values (@Name, @ContentType, @Data)"; using (SqlCommand cmd = new SqlCommand(query)) { cmd.Connection = con; cmd.Parameters.AddWithValue("@Name", filename); cmd.Parameters.AddWithValue("@ContentType", contenttype); cmd.Parameters.Add("@Data", SqlDbType.VarBinary).Value=bytes; con.Open(); cmd.ExecuteNonQuery(); // con.Close(); } } } Label1.Text = "Upload Succesfully"; con.Close(); } } }
когда я собираюсь сохранить изображение, doc-файл работает правильно,но когда я собираюсь Сохранить pdf-файл, некоторые pdf-файлы сохраняются успешно, а некоторые вызывают следующее исключение
String or binary data would be truncated. The statement has been terminated.</pre> Please help me to solve this exception