在一个asp.net页面中,实现增删改的功能,其中一项是放了一个fileupload控件,我想浏览一个图片文件或者文档文件,在保存的时候把文件转为二进制后保存在数据库中,保存成功后,在一个gridview中的一列中一个链接想把那个二进制文件下载保存下来,请问这个下载功能如何实现?

解决方案 »

  1.   

     //获得图象并把图象转换为byte[] 
                HttpPostedFile upPhoto = FileUpload1.PostedFile;
                int upPhotoLength = upPhoto.ContentLength;
                byte[] PhotoArray = new Byte[upPhotoLength];
                Stream PhotoStream = upPhoto.InputStream;
                PhotoStream.Read(PhotoArray, 0, upPhotoLength);
                string sql = "insert into PostImg values(@name,@img)";
                SqlParameter[] parameters ={ 
                new SqlParameter("@name",SqlDbType.NVarChar),
                new SqlParameter("@img",SqlDbType.Image)
                                            };
                parameters[0].Value = FileUpload1.PostedFile.FileName.Substring(FileUpload1.PostedFile.FileName.LastIndexOf("\\") + 1, FileUpload1.PostedFile.FileName.Length - FileUpload1.PostedFile.FileName.LastIndexOf("\\") - 1);
                parameters[1].Value = PhotoArray;
                DBHelper.ExecuteCommand(sql, parameters);
      

  2.   

    Bitmap map = new Bitmap(300, 600);  MemoryStream stream = new MemoryStream();
            map.Save(stream, ImageFormat.Jpeg);
    stream.ToArray()转换成字符型数组 用SQL插进去就OK了~~