把数据库Image,Text类型存储成文件

//select pid,image from a
  FileStream fs; // Writes the BLOB to a file (*.bmp).
            BinaryWriter bw; // Streams the BLOB to the FileStream object.


            int bufferSize = 100; // Size of the BLOB buffer.
            byte[] outbyte = new byte[bufferSize]; // The BLOB byte[] buffer to be filled by GetBytes.
            long retval; // The bytes returned from GetBytes.
            long startIndex = 0; // The starting position in the BLOB output.


            string pub_id = ""; // The publisher id to use in the file name.
          
       
            while (myReader.Read())
            {
                // Get the publisher id, which must occur before getting the logo.
                pub_id = myReader.GetString(1);

              
                // Create a file to hold the output.
                fs = new FileStream(Server.MapPath("logo" + pub_id + ".txt"), FileMode.OpenOrCreate, FileAccess.Write);
                bw = new BinaryWriter(fs);


                // Reset the starting byte for the new BLOB.
                startIndex = 0;


                // Read the bytes into outbyte[] and retain the number of bytes returned.
                retval = myReader.GetBytes(0, startIndex, outbyte, 0, bufferSize);


                // Continue reading and writing while there are bytes beyond the size of the buffer.
                while (retval == bufferSize)
                {
                    bw.Write(outbyte);
                    bw.Flush(); 
                    // Reposition the start index to the end of the last buffer and fill the buffer.
                    startIndex+= bufferSize;
                    retval = myReader.GetBytes(1, startIndex, outbyte, 0, bufferSize);
                } 
                // Write the remaining buffer.
                bw.Write(outbyte);
                bw.Flush(); 
                // Close the output file.
                bw.Close();
                fs.Close();
            }


            // Close the reader and the connection.
            myReader.Close();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值