保存前图片:
报表打印效果:
保存图片到数据库:
string FileType = FileUpload1.PostedFile.ContentType;//获取文件的格式
string FileName = FileUpload1.FileName; //文件名称
string FilePath = FileUpload1.PostedFile.FileName; //文件路径
int FileSize = FileUpload1.PostedFile.ContentLength;//获取文件的大小
//保存文件到数据库
//文件大小
int intDoclen = FileUpload1.PostedFile.ContentLength;
//设置缓冲的大小
byte[] Docbuffer = new byte[intDoclen];
//将上传文件的内容保存到缓冲中
Stream objStream;
objStream = FileUpload1.PostedFile.InputStream;
objStream.Read(Docbuffer, 0, intDoclen);
//FileData = FileUpload1.FileBytes;//得到文件数组
Convert.ToBase64String(Docbuffer);
string MNoteNo = TxtNoteNo.Text.Trim();
string MFiletype = FileUpload1.PostedFile.ContentType;//文件类型
//strselect1 = "Insert into Project_Manage_File(NoteNo,FileType,FileName,ProjectFile) values(@NoteNo,@FileType,@FileName,@ProjectFile)";
//执行存储过程
Cmd = new SqlCommand("In_PurchaseApply_File", Sqlcon, Tran);
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Parameters.Add("@NoteNo", SqlDbType.VarChar, 8);
Cmd.Parameters.Add("@FileType", SqlDbType.VarChar, 500);
Cmd.Parameters.Add("@FileName", SqlDbType.VarChar, 100);
Cmd.Parameters.Add("@ProjectFile", SqlDbType.Image);
Cmd.Parameters[0].Value = MNoteNo;
Cmd.Parameters[1].Value = MFiletype;
Cmd.Parameters[2].Value = FileName;
Cmd.Parameters[3].Value = Docbuffer;
Cmd.ExecuteNonQuery();
从数据库取出打印报表
SqlStr = "Select NoteFile From [PurchaseApplyFile] where NoteNo='" + NoteNo + "'";
Cmd = new SqlCommand(SqlStr, SqlCon);
Dr=Cmd.ExecuteReader();
if (Dr.Read())
{
byte[] MeansContentObj = (byte[])Dr["NoteFile"];
MemoryStream ms = new MemoryStream(MeansContentObj);
Bitmap bmp = new Bitmap(ms);
this.picture1.Image = bmp;
}
图片大小是否会造成这种情况?
|