【www.gdgbn.com--php应用】

asp教程.net file,filestream,byte应用转换

file>>>filestream (2种方式)
方式1:
filestream fs1 = file.open ( @"d:集团通知.jpg" , filemode.open );
方式2:
filestream fs2 = new filestream ( @"d:通知.jpg" , filemode.open );

filestream>>>byte[]
byte [ ] b1 = new byte [ fs1.length ];
fs1.read ( b1 , 0 , b1.length );

把文件保存到数据库教程中一般是file>>>filestream>>>byte[]

byte[]>>>file(2种方式)
假设byte[ ] b1里面有数据
方式1:
file.writeallbytes ( @"d:通知b2.jpg" , b1 );
方式2:
filestream fs = new filestream ( @"d:通知b_2.jpg" , filemode.openorcreate , fileaccess.write );
fs.write ( b1 , 0 , b1.length );
fs.close ( );

filestream>>>filestream
有时需要把文件流写到ftp的请求流中,实际上是利用byte[]做了一个缓冲区

stream requeststream = uploadrequest.getrequeststream ( );
filestream filestream =  file.open ( @"d:abc.txt" , filemode.open );

byte [ ] buffer = new byte [ 1024 ];
int bytesread;
while ( true )
{
bytesread = filestream.read ( buffer , 0 , buffer.length );
if ( bytesread == 0 )
break;
requeststream.write ( buffer , 0 , bytesread );
}

转换到filestream byte() array throws outofmemoryexception

"open the filestream data file for writing
      dim fs as new sqlfilestream(filepath, txcontext, fileaccess.write)

      "open the source file for reading
      dim localfile as new filestream("c:tempmicrosoftmouse.jpg",
                      filemode.open,
                      fileaccess.read)

      "start transferring data from the source file to filestream data file
      dim bw as new binarywriter(fs)
      const buffersize as integer = 4096
      dim buffer as byte() = new byte(buffersize) {}
      dim bytes as integer = localfile.read(buffer, 0, buffersize)

      while bytes > 0
        bw.write(buffer, 0, bytes)
        bw.flush()
        bytes = localfile.read(buffer, 0, buffersize)
      end while

      "close the files
      bw.close()
      localfile.close()
      fs.close()

 

本文来源:http://www.gdgbn.com/jiaocheng/29305/